Hallo,
Ich bin Anfänger und versuchte folgendes:
Ich möchte ein Bild per HTML-Eingabe (php-Script) einlesen, dann verkleinern und das Ergebnis wieder in HTML anzeigen.
Das Problem: Vor dem resizen wird das Bild angezeigt, nach dem Resizen nicht. Kapiere nicht warum, habe verschiedene Dinge probiert, komme nicht weiter... Das Programm zum Resizen habe ich aus einem Forum kiopiert, scheint ok zu sein.
Im Erfassungprogramm für den Browser steht also irgendwo:
und weiter unten dann:
Das erste Bild (also $image) wird angezeigt, das zweite ($imageNeu) nicht (Fehler: Warning: file_get_contents() expects parameter 1 to be string, resource given in /mnt/webg/a1/47/51326147/htdocs/de_clone/BildEinlesen/insertdog3.php on line 86).
Habe es auch ohne file_get-Contents() ausprobiert, wird auch nicht angezeigt.
Ich dachte, dass die resize-Funktion das gleiche Bild(Format) zurückliefert wir vorher, aber irgendwas muss beim return der Funktion anders sein. Hier noch die Funktion, die ich benutze:
Kapiere also nicht, wiese das "Reingehen-Bild" in die Funktion angezeigt wird, das "Rauskommen-Bild" aber nicht... Was mache ich falsch??
Ich bin Anfänger und versuchte folgendes:
Ich möchte ein Bild per HTML-Eingabe (php-Script) einlesen, dann verkleinern und das Ergebnis wieder in HTML anzeigen.
Das Problem: Vor dem resizen wird das Bild angezeigt, nach dem Resizen nicht. Kapiere nicht warum, habe verschiedene Dinge probiert, komme nicht weiter... Das Programm zum Resizen habe ich aus einem Forum kiopiert, scheint ok zu sein.
Im Erfassungprogramm für den Browser steht also irgendwo:
HTML-Code:
... <th align='left'><input type="file" name="Bild"/></th> ...
PHP-Code:
$myimage = $_FILES['Bild']['tmp_name'];
$image = file_get_contents($myimage);
//$content = addslashes($image);
//Begin TEsten
$imageResized=resizeImage($myimage, 200, 200);
$imageNeu = file_get_contents($imageResized);
?>
<img src="data:image/jpg;base64,<?php print base64_encode($image); ?>" alt="" />
<img src="data:image/jpg;base64,<?php print base64_encode($imageNeu); ?>" alt="" />
<?
Habe es auch ohne file_get-Contents() ausprobiert, wird auch nicht angezeigt.
Ich dachte, dass die resize-Funktion das gleiche Bild(Format) zurückliefert wir vorher, aber irgendwas muss beim return der Funktion anders sein. Hier noch die Funktion, die ich benutze:
PHP-Code:
function resizeImage($filename, $max_width, $max_height)
/**
* Resize an image and keep the proportions
* @author Allison Beckwith <allison@planetargon.com>
* @param string $filename
* @param integer $max_width
* @param integer $max_height
* @return image
*/
{
list($orig_width, $orig_height) = getimagesize($filename);
$width = $orig_width;
$height = $orig_height;
# taller
if ($height > $max_height) {
$width = ($max_height / $height) * $width;
$height = $max_height;
}
# wider
if ($width > $max_width) {
$height = ($max_width / $width) * $height;
$width = $max_width;
}
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0,
$width, $height, $orig_width, $orig_height);
return $image_p;
}