J
j-l-n
Guest
Ich erzeuge ein Bild mit PHP. Auf dieses wird z.B. mittels
geschrieben.
Ausgegeben wird das Ganze zum Schluss via
direkt im Browser.
Nun möchte ich das fertige Bild allerdings noch verkleinern. Dafür benutze ich folgende Funktion:
Will ich aber diese Funktion nutzen, muss ich das oben erzeugte Bild immer erst mittels
auf dem Server speichern.
Gibt es einen Weg, direkt aus dem oben erzeugten Bild ohne Zwischenspeichern die kleinere Version zu erzeugen? Denn wenn ich es in der Art
übergebe, klappt es nicht...
PHP:
imagettftext($background, $size, $angle_3, $x_align_3, $y_align, $color3, $fonts[2], $string3);
Ausgegeben wird das Ganze zum Schluss via
PHP:
imagejpeg($background);
Nun möchte ich das fertige Bild allerdings noch verkleinern. Dafür benutze ich folgende Funktion:
PHP:
$filename = 'temp_bild.jpg';
// Set a maximum height and width
$width = 200;
$height = 200;
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Output
imagejpeg($image_p, null, 100);
Will ich aber diese Funktion nutzen, muss ich das oben erzeugte Bild immer erst mittels
PHP:
imagejpeg($background, "temp_bild.jpg", 90);
Gibt es einen Weg, direkt aus dem oben erzeugten Bild ohne Zwischenspeichern die kleinere Version zu erzeugen? Denn wenn ich es in der Art
PHP:
$filename = imagejpeg($background);