Schwarzes Bild imagecreate

FlyTribun

Grünschnabel
Hallo zusammen,

nach langem erfolglosem Rumstöbern der Tutorials, erhoffe ich mir bei euch HILFE:confused:

Ich möchte gerne für meine Gallery Thumbs verwenden. Das Erstellen des Thumbs im Ordner „thumbs/“ geht nur leider ist das Bild schwarz!

Könnt ihr mir weiterhelfen bitte?

PHP:
header("Content-type: image/jpeg");
# OpenDirectory wo sich die Bilder befinden
$dir=opendir('pics/');
$i=0;
#Auswahl Directory alle aussert ". & ..", dann ins Array $bilder Abfüllen.
#Alle Bilder in JPG, Originalgrösse 1944x2592

while ($file = readdir ($dir)) {
  if ($file != "." && $file != "..") {
    $bilder[$i]=$file;
  $i++;
  }
}

$bilderpath='pics/';
$thumbpath='thumbs/';
$filename= ''.$bilderpath.''.$bilder[77].'';
$thumbname=''.$thumbpath.'t_'.$bilder[77].'';
$newwidth=50;
$newheight=50;

$size = GetImageSize ($filename);
$image = imagecreatefromjpeg($filename); 
$im = imagecreate(50,50); 
$thumbpath .= "t_".$bilder[77]."";
ImageJPEG($im,$thumbpath);  
imagecopyresized($im, $image, 0,0,0,0,$newwidth, $newheight,$size[0],$size[1] ); 
imagejpeg($im);

Das Bild wird mir in dem Browser auch nicht angezeigt, da kommt die folgende Fehlermeldung:
Die Grafik "http://localhost/flybrothers/gallery/gallery.php" kann nicht angezeigt werden, weil sie Fehler enthält.
 
Zuletzt bearbeitet:
Probier mal Folgendes:
PHP:
<?php

	header('Content-Type: image/jpeg');
	# OpenDirectory wo sich die Bilder befinden
	$dir = opendir('pics/');
	# Auswahl Directory alle aussert ". & ..", dann ins Array $bilder Abfüllen.
	# Alle Bilder in JPG, Originalgrösse 1944x2592

	while( $file = readdir($dir) ) {
		if( $file == '.' || $file == '..' ) {
			continue;
		}
		$bilder[] = $file;
	}

	$filename = 'pics/'.$bilder[77];
	$thumbname = 'thumbs/t_'.$bilder[77];
	$newwidth = 50;
	$newheight = 50;

	$size = GetImageSize($filename);
	$image = imagecreatefromjpeg($filename);
	$im = imagecreate($newwidth, $newheight);
	ImageJPEG($im, $thumbname);
	imagecopyresized($im, $image, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
	imagejpeg($im);

?>
 
Vielen Dank! Hat geklappt! Ich habe's jetzt so gelöst:
PHP:
$dir=opendir('pics/');
$i=0;
while ($file = readdir ($dir)) {
  if ($file != "." && $file != "..") {
    $bilder[$i]=$file;
    $bilderpath='pics/';
    $thumbpath='thumbs/';
    $filename= ''.$bilderpath.''.$bilder[$i].'';
    $thumbname=''.$thumbpath.'t_'.$bilder[$i].'';
    $thumbpath .= "t_".$bilder[$i]."";
    Header("Content-type: image/jpeg");
    $bild = $filename;
    $size=getimagesize($bild); 
    $breite=$size[0]; 
    $hoehe=$size[1]; 
    $neueBreite=100; 
    $neueHoehe=intval($hoehe*$neueBreite/$breite); 
    $altesBild=ImageCreateFromJPEG($bild); 
    $im = imagecreate(50,50); 
    $neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);  
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
    ImageJPEG($neuesBild,$thumbpath,100); 
  $i++;
  }
}

Sorry werde mir in Zukunft mühe geben habe nicht darauf geachtet :-)
 
Zuletzt bearbeitet:
Zurück