Willow
09.11.2005, 14:36:58
ich möchte ine bild (jpg) , das der user per upload an den server geschickt hat auf eine bestimmte grösse verkleinern ...
dazu habe ich ....
mit $info=getimagesize($bildfile)
die bilddaten des originals abgerufen, um das verhältnis höhe:breite zu ermitteln und mit ...
$image = imagecreatefromjpeg($bildfile);
$imageneu = imagecreate($breite,$hoehe);
imagecopyresized($imageneu, $image, 0,0, 0,0,$breite,$hoehe, $info[0],$info[1]);
imagejpeg($imageneu, "img/bildneu.jpg");
die dann umgerechnete bilddatei in "bildneu.jpg" geschrieben.
was ich erhalte schaut aus wie ein gespensterbild - etwa so wie bilder (früher) ausgesehen haben, wenn in der dunkelkammer während das fotopapier in der entwicklerchemie war, jemand die tür aufgerissen hat ...
(nennt man das solarisation ...?)
bild ist zwar da (die figuren erkennbar), aber farben weg ..
wers sehen will: original: usk.at/original.jpg
kopie; usk.at/resized.jpg
kann mir jemand sagen, woran das liegt?
apropos - noch eine frage:
bei "$image = imagecreatefromjpeg($bildfile);" scheint es eine sperre bezüglich der dateigrösse zu geben - wenn das original eine bestimmte grösse überschreitet, erhalte ich die fehlermeldung:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8548 bytes) in /home/www/web17/html/betriebe/809.php on line 52
wie "umgeht" man das bzw. wie stellt man diese obergrenze ein? (in "SELFPHP" finde ich - unter "imagecreatefromjpeg" - darüber nichts.
dazu habe ich ....
mit $info=getimagesize($bildfile)
die bilddaten des originals abgerufen, um das verhältnis höhe:breite zu ermitteln und mit ...
$image = imagecreatefromjpeg($bildfile);
$imageneu = imagecreate($breite,$hoehe);
imagecopyresized($imageneu, $image, 0,0, 0,0,$breite,$hoehe, $info[0],$info[1]);
imagejpeg($imageneu, "img/bildneu.jpg");
die dann umgerechnete bilddatei in "bildneu.jpg" geschrieben.
was ich erhalte schaut aus wie ein gespensterbild - etwa so wie bilder (früher) ausgesehen haben, wenn in der dunkelkammer während das fotopapier in der entwicklerchemie war, jemand die tür aufgerissen hat ...
(nennt man das solarisation ...?)
bild ist zwar da (die figuren erkennbar), aber farben weg ..
wers sehen will: original: usk.at/original.jpg
kopie; usk.at/resized.jpg
kann mir jemand sagen, woran das liegt?
apropos - noch eine frage:
bei "$image = imagecreatefromjpeg($bildfile);" scheint es eine sperre bezüglich der dateigrösse zu geben - wenn das original eine bestimmte grösse überschreitet, erhalte ich die fehlermeldung:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8548 bytes) in /home/www/web17/html/betriebe/809.php on line 52
wie "umgeht" man das bzw. wie stellt man diese obergrenze ein? (in "SELFPHP" finde ich - unter "imagecreatefromjpeg" - darüber nichts.