ugrás a tartalomhoz

ImageCopyResized színhiba

Anonymous · 2006. Feb. 9. (Cs), 18.34
Üdv!
Talán tudok segíteni, valószínű valami lokális gond lehet. A probléma a következő:
Van a user, belép az oldalra, és feltölthet képeket. Ez eddig okés, de akarok csinálni kis képeket belőle előnézethez meg ide-oda, és ehhez a ImageCopyResized parancsot használom, ami meg is csinálja a kis képet, de a színeket összemossa, elrontja, szóval nem néz ki jól. Mi lehet a gond? Vagy ez a függvény alapból ilyen? Kipróbáltam több képpel, egyik sem az igazi. Itt a kódrészlet, ami csinálja a kis képet:
  1. function smallpic($nev)  
  2.     {  
  3.   
  4. $first=ImageCreateFromJPEG("avatar/".$nev.".jpg");  
  5. $thumbname="avatar/".$nev."_small.jpg";  
  6.   
  7.  $width = imagesx($first);  
  8.  $height = imagesy($first);  
  9.   
  10.  $scale = min(100/$width, 100/$height);  
  11.   
  12.  $new_width = floor($scale*$width);  
  13.  $new_height = floor($scale*$height);  
  14.   
  15.  $second=ImageCreate($new_width, $new_height);  
  16.   
  17.  ImageCopyResized($second,$first,0,0,0,0,$new_width,$new_height,$width,$height);  
  18.   
  19.  ImageJPEG($second,$thumbname);  
  20.   
  21. }  
 
1

imagecopyresampled

Poetro · 2006. Feb. 9. (Cs), 19.02
Az imagecopyresampled jóval szebb kimenetet produkál, mint az imagecopyresized. Ehhez mondjuk GD 2.0.1 kell, de ez már PHP 4.0.6 óta elérhető, és a legtöbb rendszeren fent is van.
Másik megoldás lehet, ha van a szerveren ImageMagick, akkor még szebb képeket tudsz kapni.
--------
Poetro
2

Megoldás

Anonymous · 2006. Feb. 9. (Cs), 21.27
Üdv.. sikerült a dolog, a megoldás a ImageCreatetruecolor parancs volt, amivel nem 256+1 színű képet, hanem igazi true color JPG-t csinálhattam.
köszi