Hola:
Tengo una imagen ya generada que llamo "mianuncio.jpeg", pero por cuestiones de visualizacion (dependiendo el width y height), la imagen quiero que se muestre segun sea, para esto cree varias dimenciones definidas, me cree un codigo PHP al cual le paso una variable y este invoca cerateimagefromjpeg(), en donde segun sea el width y height, elige la imagen:
Ejemplo: anuncios.php?size=160x600
En el codigo elige la imagen de 160x600, la mete a una variable, despues invoco la funcion imageceratefromjpeg( variable ), muestro la imagen, destruyo la variable y listo..
El Problema es que la imagen que se genera con imagecreatefromjpeg() tiene una calidad baja :S... Y la original (que es del mismo tamano) tiene una mejor calidad.
header('Content-Type: image/jpeg');
$sz= proteger_cadena($_GET["size"]);
if( !strcmp($sz, "160x600") )
$sz= "anuncio_160x600.jpg";
else if( !strcmp($sz, "468x60") )
$sz= "anuncio_468x60.jpg";
else if( !strcmp($sz, "120x600") )
$sz= "anuncio_120x600.jpg";
else
$sz= "anuncio_120x600.jpg";
$img= imagecreatefromjpeg($sz);
imagejpeg($img);
imagedestroy($img);
ps, yo provaria de otras formas, tambien puede hacerlo con break y llamar la img.
Ps un poco al tema, imagejpeg
http://www.php-es.com/function.imagejpeg.html
Nota: JPEG support is only available if PHP was compiled against GD-1.8 or later.
Cita de: yoyahack en 6 Enero 2010, 15:11 PM
ps, yo provaria de otras formas, tambien puede hacerlo con break y llamar la img.
Ps un poco al tema, imagejpeg
http://www.php-es.com/function.imagejpeg.html
Nota: JPEG support is only available if PHP was compiled against GD-1.8 or later.
Hola:
Gracias, la solucion fue incluir los parametros dentro de
imagejpeg() indicando calidad a 100%:
imagejpeg( $img, NULL, 100);
bye
Imagemagic ;), te sorprenderá.
El problema es que imagemagic debes instalarlo y si no tienes un servidor dedicado es muy poco probable que lo tengan.
De todas formas yo optaría por dar un buffer de salida en png en ves de jpg para no perder la calidad.