Autor Zpráva
jooka
Profil
Ahoj, mám problém s funkcí ImageJPEG();
Když s ní uložím obrázek po zmenšení pomocí ImageCopyResized(); tak i při nastavení kvality na 100, je obrázek kvalitativně hodně vzdálený tomu jak vypadal před zmenšnením a při tom má i tak nějakých 300kB a 640x480px. Hlavně z něho vypadnou některé charakteristické barvy a to mě neba... Jak to tedy je? Díky.
Hugo
Profil
jooka

Tak zkus ImageCopyResampled()
jooka
Profil
ImageResampled() jsem zkoušel, ale výsledek je stejný.

původní obrázek , změněný obrázek

úplný kód:
<?

header("Content-Type: image/jpeg");
$obr=ImageCreate(800,600);
$zdr=ImageCreateFromJpeg('self.jpg');

ImageCopyResized($obr,$zdr,0,0,0,0,799,599,ImageSX($zdr),ImageSY($zdr));

ImageJPEG($obr,'',100);
ImageDestroy($obr);
ImageDestroy($zdr);
?>
Hugo
Profil
IMHO je problém tady
$obr=ImageCreate(800,600);

Zkus použít funkci
ImageCreateTrueColor()
Hugo
Profil
Citace z manuálu:

imagecreate() returns an image identifier representing a blank image of size x_size by y_size.
We recommend the use of imagecreatetruecolor().
jooka
Profil
Díky, to je ono.
Unknown86
Profil
http://mrkev.net/read.php?what=php_miniatury :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0