mit PHP und GD 2.0 thumbnail ab variable erzeugen

PH

Legendäres Mitglied
Ich habe folgenden Fall:

in der variable $bild habe ich ein JPG.
(es kann mit z.B. imagecreatefromstring($bild) gezeigt werden)

dieses möchte ich gerne mit GD resizen (z.B. neue breite = 120px), und das neue Bild in eine Variable $bild_klein stecken.

es sollen während diesem Prozess keine Dateien gespeichert werden.


wer weiss wie das geht?


edit: meinetwegen kann auch ImageMagick verwendet werden, habe beides.
 
CODE
$old_x = imageSX($bild);
$old_y = imageSY($bild);
$bild_klein = ImageCreateTrueColor(600,800);
imagecopyresampled($bild_klein,$bild,0,0,0,0,600,800,$old_x,$old_y);

 
danke!

aber fehlt da nicht was?

CODE
ob_start();
imageJPEG($bild_klein);
$bild_klein2 = ob_get_contents();
ob_end_clean();
 
hmmm... ich steh auf dem Schaluch, das klappt irgendwie nicht...

ich will folgendes erreichen:

ein Bild bei einer URL holen, ein Thumbnail davon erstellen (in der RAM), und das Thumbnail in MySQL speichern.

wo mache ich den Fehler?

CODE
$picurl = "bla-bla.com/pix?picno=256";
$imhostpic = file_get_contents($impicurl);

$bild_klein = ImageCreateTrueColor(133,100);
imagecopyresampled($bild_klein,$imhostpic,0,0,0,0,133,100,320,240);
ob_start();
imageJPEG($bild_klein);
$bild_klein2 = ob_get_contents();
ob_end_clean();



Bei obigem Code gibt es schon ein Problem, imagecopyresampled fehlt eine valide image resource als argument.

Eigentlich sollte dann folgendes einBild ausgeben:


CODE
header("Content-type: image/jpeg");
echo $bild_klein2;



aber das klappt dann auch net...
 
ok, ich habs


CODE
$picurl = "bla-bla.com/pix?picno=256";
$imhostpic = file_get_contents($impicurl);

//make the thumbnail

$im = imagecreatefromstring($imhostpic);
$new = imagecreatetruecolor(133, 100);

imagecopyresampled($new, $im, 0, 0, 0, 0, 133, 100, 320, 240);
imagedestroy($im);

header('Content-type: image/jpeg');
imagejpeg($new, null, 85);

 
Zurück
Oben