Problem beim Thumbnail-Generieren

Warper

Erfahrenes Mitglied
Ich habe momentan leider ein kleines Problem beim generieren von Thumbnail über ImageCreateTrueColor()

Original:
1065553822.jpg

Sorry, für de Größe!

Generiertes Thumbnail:
TN_1065553822.jpg


Zuständiger Codeabschnitt:


PHP:
						if	($pic_info[2]==2)
 						{ 
  							// JPG 
  							$altespic=ImageCreateFromJPEG("$foto_path"."$foto_name"); 
					  		$neuespic=ImageCreateTruecolor($neueBreite,$neueHoehe); 
  							ImageCopyResized($neuespic,$altespic,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
 							ImageJPEG($neuespic,$thumb_path.$thumb_prefix.$foto_name); 
 						}

Es wird leider rechts und unten ein 1px großer schwarzer Rand ns Thumbnail eingebaut, der dort so nicht gewollt ist. ;)

Könnt ihr mir vielleicht weiterhelfen?
Danke schon einmal im Vorraus

mfg Warper
 
Zuletzt bearbeitet:
Hallo,

poste doch bitte etwas mehr Code.
Denn daraus geht nicht hervor warum die schwarzen Streifen mit abgebildet werden.
Es könnte sein das du ein Hintergrund mit angibst mit einer falschen Grösse.

Möchte nur nicht weiter Rätseln.

Nur das was mit Thumbnails zu tun hat wäre interessant,
bitte nicht dein kompl. Script hier posten.

Viel Spass

euer SaTaN
 
also ich habe das gleiche Problem. Jedoch passiert das nur ab und zu!
Warum weiss ich aber auch nicht!

Slater
 
Mh, soweit ich weiß ist genau das, alles was mit Thumbnails zu tun hat. oder? ;)

Die Variablen werden alle vorher definiert:

PHP:
$max_foto_size		= '102400';
$foto_path			= $home_path.'/fotos/';
$thumb_path			= $foto_path.'thumbnails/';
$thumb_prefix		= 'TN_';
$thumb_width		= '100';

Generieren des Dateinamens:

PHP:
					if	($_FILES["foto"]["type"] == "image/x-png")
						{ $ext = ".png"; }
					elseif	(($_FILES["foto"]["type"] == "image/jpeg") || ($_FILES["foto"]["type"] == "image/pjpeg"))
						{ $ext = ".jpg"; }

					$timestamp				= time();
					

					$foto_name				= $timestamp.$ext;

Und schlussendlich die Berechnung der Thumbnail Höhe:

PHP:
					$pic_info=getimagesize("$foto_path"."$foto_name"); 
					$breite=$pic_info[0]; 
					$hoehe=$pic_info[1]; 
					$neueBreite=$thumb_width; 
					$neueHoehe=intval($hoehe*$neueBreite/$breite);

Momentan fällt mir eigentlich nicht mehr ein. ;)

Hoffe es reicht dir um mir auf die Sprünge zu helfen.

mfg Warper
 
ok, mal eine Theorie:
Kann es sein, dass das Bild 100 Pixel Breit wird (Wird ja genau generiert) und der Hintergrund 101 Pixel (Wird berechnet)? Dadurch kommt ein Rand 1 Pixel (Schwarz ist ja Standart) zum vorschein...
Verhindern durch:
Hintergrundfarbe = Weiss
oder
Bild auf jeder Seite um 1 Pixel reduzieren

Slater
 
Zurück