[Php-avanzado] [PHP-Avanzado] Imágenes
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Dom Nov 14 16:36:28 ARST 2010
Hola Juan Pablo,
Buenos aportes!
El sáb, 13-11-2010 a las 14:21 -0300, Juan Pablo escribió:
> Hola a todos. Después de probar algunas cosas con las imagenes, tengo
> algunas cosas para comentar que seguro que a alguno le sirve ;).
>
>
> imagecreate() me crea una imagen, pero cuando pego encima otra imagen
> (del disco), ésta pierde calidad de una forma muy extraña (se
> invierten los colores, se cambian, etc).
No es que se cambian, sino que imagecreate() maneja imágenes a 256
colores, y si la original tiene más, los matchea de una forma eficiente
en tiempo de cómputo pero horrible respecto a los colores resultantes.
> imagecreatetruecolor() te crea una imagen que no pasa eso de la
> calidad, y queda muy bien. Igualmente, a esta no le pude dar
> transparencia con imagecolortransparent().
Tal vez, y por lo que sigue abajo, le quisiste aplicar transparencias a
un formato que no lo soporta: solo la soportan GIF y PNG.
> Para traer una imagen del disco que sea png (con gif no se) y que
> tenga transparencia es:
> $handler=imagecreatefrompng($dir);
> imagealphablending($handler,false);
> imagesavealpha($handler,true);
Esto es una característica de los PNG, que soportan "canales alfa". No
funciona con otros formatos de imagen.
> Pero solo me funciona con una img por script.
> Si alguien sabe como hacerlo con 2 avisen ;)
Bueno, si tu imagen luego se verá en un <img> no sirve que se puedan
procesar de a más de a una.
Si en cambio luego del proceso las guardás en el disco, poné este
código en una función y llamada en un foreach con el contenido de un
scandir.
> Si a alguien le interesa bajarle la calidad a una imagen (como lo q
> habia preguntado) es así:
> imagejpeg($handler,NULL,$calidad);
> Calidad: de 0 (peor calidad, menos espacio) a 100 (mayor calidad,
> mayor espacio).
Esta característica es solo de los JPEG, y lo que le estás pasando es
el porcentaje de compresión.
> el NULL es por si no la quieren grabar al disco, si no va la url de
> destino.
> Fuente: http://www.php.net/manual/en/function.imagejpeg.php
>
>
> Ah, por último, las coordenadas de la imagen son en x e -y (como la
> impresora), pero la del texto es x e y (como en matematica xD).
Seguro que para el texto es así? Con qué función lo hallás?
Tenía entendido que siempre era la coordenada superior izquierda...
> En el ejemplo que estaba en el cuaderno, no me funciona el cambio de
> color de hexa a rgb:
>
>
> $fondoGET=$_GET["bg"];
> $fred=base_convert(substr($fondoGET,1,2),16,10);
> $fgreen=base_convert(substr($fondoGET,3,2),16,10);
> $fblue=base_convert(substr($fondoGET,5,2),16,10);
>
>
> El ffffff me lo toma como amarillo, y así... (el negro me anda bien
> igual)
ES raro, porque base_convert() solo hace conversiones de base
numérica... tal vez se lo estás luego asignando a una imagen que no
tenía ese color en la paleta!
> Saludos!
=mente!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado