Thumbnail mit möglichst wenig Qualitätsverlust
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auftreten
befehl
bild
breite hhe
byte
curry
datei
echt mal
farbe
fatal error
format
foto
funktion
hhen
manual
memory
miteinander
radio
user
vielen dank
-
Hallo alle miteinander
ich hab hier son dolles Script, dass aus riesen Bildern Miniaturansichten macht. leider gibt's da auch nen riesigen Qualit?tsverlust.
Hier seht ihr mal das Script:
$PicPathIn="uploadbilder/"; $PicPathOut="uploadbilder/mini/"; // Orginalbild $bild= Foto.jpg; // Bilddaten ermitteln $size= GetImageSize("$PicPathIn"."$bild"); $breite=$size[0]; $hoehe=$size[1]; $neueBreite=100; $neueHoehe= intval($hoehe*$neueBreite/$breite); if($size[2]==1) { // GIF $altesBild= imagecreatefromgif("$PicPathIn"."$bild"); $neuesBild= imagecreate($neueBreite,$neueHoehe); imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); imageGIF($neuesBild,"$PicPathOut"."TN_"."$bild"); } if($size[2]==2) { // JPG $altesBild= ImageCreateFromJPEG("$PicPathIn"."$bild"); $neuesBild= imagecreate($neueBreite,$neueHoehe); imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); ImageJPEG($neuesBild,"$PicPathOut"."TN_"."$bild"); } if($size[2]==3) { // PNG $altesBild= ImageCreateFromPNG("$PicPathIn"."$bild"); $neuesBild= imagecreate($neueBreite,$neueHoehe); imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); ImagePNG($neuesBild,"$PicPathOut"."TN_"."$bild"); } echo "Altes Bild:<BR>"; echo "<IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\"><BR><BR>"; echo "Neues Bild:<BR>"; $Thumbnail=$PicPathOut."TN_".$bild; echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";
Kennt da einer noch ne andere M?glichkeit, die m?glichst die Selben Funktionen wie dieses Script hat, aber weniger Qualit?tsverlust hat? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
mein tipp: nimm f?r die gr??enangaben get-variablen, dann kannst du das bild je nachdem anpassen. ich werde dir hier keinen fertigen skript hinschreiben, weil ich der meinung bin, das selbstgeschrieben besser ist als kopiert, auch wenn es ein wenig mehr code oder so ist. falls bei dir thubnails mit nur 256 farben oder so erstellt werden benutzte den befehl imagecreatetruecolor: http://de3.php.net/manual/de/function.imagecreatetruecolor.php
-
vielen Dank, das entspricht schon eher meinem Geschmack ^^
-
Hallo... die Qualit?t ist tats?chlich viel viel besser... jetzt hab ich aber ein Problem, dass ich iwie net verstehe... undzwar kommt bei manchen Bildern immer diese Fehlermeltung
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 8192 bytes) in /www/htdocs/flohsp/djtechnostyler/radio-stylisch/transformer.php on line 45
ich hab 0 Peil, das mir da PHP sagen will...
hier sind mal die Bilder, bei denen das Problem auftritt:#
http://flohsp.curry.hl-users.com/djtechnostyler/radio-stylisch/uploadbilder/Ahhh!%20Schrei!.jpg
http://flohsp.curry.hl-users.com/djtechnostyler/radio-stylisch/uploadbilder/desert-Flexing20Power.jpg
http://flohsp.curry.hl-users.com/djtechnostyler/radio-stylisch/uploadbilder/Ford%20gt40.jpg
http://flohsp.curry.hl-users.com/djtechnostyler/radio-stylisch/uploadbilder/Bild%20015.jpg
k?nnte das vielleicht an den "%" im Pfad liegen? Ich pers?nlich glaube das ja nicht, weil das zweite Bild keins im Pfad hat... unterschiedlich gro? sind se auch... sogar das Format ist das Selbe... das Einzige, was alle gemainsam haben, ist die Zahl, aber daran kann es eigentlich auch nicht liegen, weil andere Bilder im jpg format haben auch Zahlen um Pfad und bei denen tritt das Problem nicht auf...
Wei? da jemand, was da schief l?uft? Weil da bin ich jetzt echt mal ratlos... -
dein broblem ist, dass die maximale bildgr?sse ?bertroffen wird. Diese betr?gt 16777216 Bytes also versuch mit einem tool einfach die aufl?sung etwas runterzuschrauben um das bild kleiner zu machen und dann passt das auch.
-
na ja, das Bild is ja schon aufm Server, will ja nurnoch ne Miniaturansicht draus machen, also mit PHP... und da sollte eigentlisch nix ?berschritten werden...
-
wahrscheinlich ist die bildgr?sse bei funktionen festgelegt, die du zum verkleinern verwendest. naja...hatte das andere auch nur ?bersetzt
-
na lol ^^
aber ich glaub ich wei? jetzt was ich machen muss... iwas mit der ini-Datei aufm Server... isch wei? nur net was ich damit machen muss. XD -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage