Problem bei Bilderstellung mit PHP
Stefan
- php
Hallo,
kann mir jemand helfen? Habe ein Problem bei der Bilderstellung mit PHP. Schaut mal hier:
http://wendsche-weihnacht.de/fotoalbum/wuerfel.php?create=1
Das Bild wird nicht richtig erstelllt.
GD Support enabled
GD Version 1.6.2 or higher
Woran kann das liegen?
Die Bilder werden wie folgt bearbeitet. Danke für Eure Hilfe ...
//allgemeine Angaben
$size_wurfel = 190;
$rand_verlust = 15;
$wuerfel_logo = "../images/wuerfel_logo.jpg";
//Original-Bildquellen
$array_wuerfelbilder = $_SESSION['wuerfelbilder'];
//Logo hinzufügen
array_push($array_wuerfelbilder,$wuerfel_logo);
//Größe für neues Bild berechnen
$width_img = 3*$size_wurfel; // Weite des neuen Bildes
$height_img = 4*$size_wurfel; // Höhe des neuen Bildes
//Breite für Klebelasche berechnen
$width_lasche = $size_wurfel/10;
//Vorlage für neues Bild erstellen
if(function_exists("gd_info"))
{
$img_new = imagecreateTrueColor($width_img,$height_img+$width_lasche);
}
else
{
$img_new = imagecreate($width_img,$height_img+$width_lasche);
}
//Hintergrundfarbe für neues Bild
$farbe_body=imagecolorallocate($img_new,255,255,255);
imagefilledrectangle($img_new,0,0,$width_img,$height_img+$width_lasche,$farbe_body);
//Farbe für Klebelasche
$farbe_lasche = imagecolorallocate($img_new,230,230,230);
for($x=0;$x<count($array_wuerfelbilder);$x++)
{
//Originalbilder einlesen
$img_nr = $x+1;
$src = imagecreatefromjpeg("$array_wuerfelbilder[$x]");
//Position 1
if($img_nr == 1)
{
//Bildausschnitt berechnen
$dimensions = GetImageSize($array_wuerfelbilder[$x]);
if($dimensions[0]/$dimensions[1] >= 1)
{
//Horizontales Bild
$x_pos_src = $dimensions[0]/2-$dimensions[1]/2; // x-Position des Ausschnittes im Originalbild
$y_pos_src = $rand_verlust; // y-Position des Ausschnittes im Originalbild
$width_src_img = $dimensions[1]; // Weite des Ausschnittes im Originalbild
$height_src_img = $dimensions[1]-2*$rand_verlust; // Höhe des Ausschnittes im Originalbild
}
else
{
//Vertikales Bild
$x_pos_src = $rand_verlust; // x-Position des Ausschnittes im Originalbild
$y_pos_src = $dimensions[1]/2-$dimensions[0]/2; // y-Position des Ausschnittes im Originalbild
$width_src_img = $dimensions[0]-2*$rand_verlust; // Weite des Ausschnittes im Originalbild
$height_src_img = $dimensions[0]; // Höhe des Ausschnittes im Originalbild
}
$x_pos_img = $size_wurfel; // x-Position des Ausschnittes im neuen Bild
$y_pos_img = 0; // y-Position des Ausschnittes im neuen Bild
//Bildausschnitt in neues Bild übertragen
imagecopyresized($img_new,$src,$x_pos_img,$y_pos_img,$x_pos_src,$y_pos_src,$size_wurfel,$size_wurfel,$width_src_img,$height_src_img);
}
//usw.
}
noch was:
Das Problem tritt nur auf, wenn ich das Array aus der Session nehme:
$array_wuerfelbilder = $_SESSION['wuerfelbilder'];
Wenn ich das Array manuell erstelle klappt es:
$array_wuerfelbilder = array("huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee1.jpg");
Was ist das ...?
Danke
... und wenn ich verschiedenen Bilder nehme:
$array_wuerfelbilder = array("huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee2.jpg",
"huensborn/huensbornschnee1.jpg",
"huensborn/huensbornschnee1.jpg");