2012-01-04 66 views
7

Estoy usando php y fpdf para generar un pdf. ¿Cómo puedo escalar una imagen de 400 píxeles de altura para que quepa en un espacio alto de 300 puntos? Las dimensiones son solo ejemplos, la imagen y el espacio disponible son dinámicos.Convierta píxeles a puntos para pdf

Respuesta

9

Si desea guardar 400 píxeles de 300 puntos, entonces su factor de cambio de tamaño sería simplemente 300/400 = 0,75. Necesitas poner cada pixel en 0.75 de un punto.

Pero hay otra historia que debes saber: Cada punto mide 1/72 de pulgada. y cuántos píxeles hacen que 1 pulgada sea materia de elección.

Todas las imágenes tienen una propiedad llamada DPI: puntos por pulgada. Especifica cuántos píxeles hay para cada pulgada de la imagen. Por lo tanto, si desea convertir una imagen de 400 px * 400 px a una imagen (por ejemplo) de 96 dpi, su factor de ajuste de tamaño será 400/((72/96) * 400). 72 aquí está para convertir pulgadas a puntos.

+0

De acuerdo, lo expliqué mal. Creo que tu primera oración responde mi pregunta. En mi pregunta original, no sabía si el usuario estaba usando 72 ppp o 96 ppp (o cualquier otra cosa). – maddogandnoriko

+0

Creo que la cantidad de píxeles que componen una pulgada es una cuestión de elección. – maddogandnoriko

+0

Tienes razón, he editado. Pero imagina un mundo en el que un solo píxel sea más grande que una pulgada, entonces podemos hablar de cuántas pulgadas componen un píxel. Por qué no? :) – Hossein

0

Puede cambiar el tamaño de la imagen primero con imagecopyresampled.

->Basic Example
->Adding image to pdf

+0

Puedo cambiar el tamaño de la imagen, pero no sé cómo convertir píxeles en puntos, sin saber en qué está configurado el sistema de los usuarios. – maddogandnoriko

+0

¿Cuál es el problema al usar la imagen? – MasterCassim

+0

Si la imagen es más pequeña que 300 puntos, no quiero cambiar el tamaño. Si es más grande, necesito redimensionarlo. Y todo lo que tengo son píxeles para probar eso. También es posible que deba cambiar el tamaño de X o Y, dependiendo de si la imagen es más alta o más ancha. Veo 96 ppp en la función de imagen, ¿debo encubrir usando 96 ppp? ¿O es una suposición que no debería hacer? – maddogandnoriko