guten morgen zusammen,
ich habe jetzt mal folgende tests gemacht:
originalbild: 180 DPI / 3072 x 2048 Pixel
habe dieses bild im photoshop als jpg in 100 Pixel schritten gespeichert:
variante 1: 180 DPI / 1600 x 1067 Pixel = OK
variante 2: 180 DPI / 1700 x 1133 Pixel = OK
variante 3: 180 DPI / 1800 x 1200 Pixel = OK
variante 4: 180 DPI / 1900 x 1267 Pixel = OK
variante 5: 180 DPI / 2000 x 1333 Pixel = OK
variante 6: 180 DPI / 2100 x 1400 Pixel = OK
variante 7: 180 DPI / 2200 x 1467 Pixel = OK
variante 8: 180 DPI / 2300 x 1533 Pixel = OK
variante 9: 180 DPI / 2400 x 1600 Pixel = OK
variante10: 180 DPI / 2500 x 1667 Pixel = OK
variante11: 180 DPI / 2600 x 1733 Pixel = schwarz // mehrfach versucht
variante12: 180 DPI / 2700 x 1800 Pixel = OK
variante13: 180 DPI / 2800 x 1867 Pixel = OK
variante14: 180 DPI / 2900 x 1933 Pixel = schwarz // mehrfach versucht
variante15: 180 DPI / 3000 x 2000 Pixel = schwarz // mehrfach versucht
variante16: 180 DPI / 3072 x 2048 Pixel = schwarz // mehrfach versucht
originalbilder werden immer zu 100% übertragen und befinden sich dann auch im zielordner.
ab 2900 versagt es dauerhaft, thumbnail ist schwarz, warum ausgerechnet bei 2600 das thumbnail auch schwarz ist - keine ahnung.
hier das script welches ich benutze:
PHP-Code:
###links zum Uploadverzeichnis###
$bildlink = "thumbs" ;
$dateiname = $_FILES['datei']['name'] ;
$dateitype = $_FILES['datei']['type'] ;
$dateisize = $_FILES['datei']['size'] ;
if (empty($dateiname)) {$fehlermeldung = ''.$TEXT['FILENAME'].'' ; }
elseif ( $dateisize > '5240000') {$fehlermeldung = ''.$TEXT['FILESIZE'].'' ; }
elseif ( strlen( $dateiname ) > '25')
{
$dateinamengroesse = strlen($dateiname) - 25 ;
$fehlermeldung = ''.$TEXT['FILELAENGE'].'' ;
}
elseif ( $dateitype == 'image/jpeg' || $dateitype == 'image/pjpeg' ) {
## umwandeln von umlauten ##
$dateiname1 = strtr("$dateiname", " äöüß", "_aous") ;
## umwandeln in kleinbuchstaben ##
$dateiname2 = strtolower("$dateiname1") ;
$bildteil = split("[.]",$dateiname2) ;
$dateivorhanden = file_exists($bildlink.'/'.$bildteil[0].'_norm.'.$bildteil[1]) ;
if ($dateivorhanden) {$fehlermeldung = ''.$TEXT['FILEEXIST'].'' ;}
else {
## originalbild uploaden ##
move_uploaded_file( $datei , $bildlink.'/'.$dateiname2 ) ;
## wie groß ist das originalbild ##
$gross = getimagesize( $bildlink.'/'.$dateiname2 ) ;
$breite = $gross[0] ;
$hoehe = $gross[1] ;
$typ = $gross[2] ;
$hoehe_norm = $hoehe * 200 / $breite ;
$image_norm = imagecreatetruecolor( 200 , $hoehe_norm ) ;
## neuen namen fürs thumbnail vergeben ##
$bild_s = split("[.]",$dateiname2);
$dateiname2_norm = $bild_s[0].'_norm.'.$bild_s[1] ;
## thumbnail erstellen ##
$image_norm = imagecreatetruecolor(200, $hoehe_norm);
$image = imagecreatefromjpeg( $bildlink.'/'.$dateiname2 ) ;
imagecopyresampled($image_norm, $image, 0,0, 0,0,200,$hoehe_norm,$breite,$hoehe);
imagejpeg($image_norm, $bildlink.'/'.$dateiname2_norm , 100 );
$fehlermeldung = ''.$TEXT['FILEDONE'].'' ;
}
}
else {$fehlermeldung = ''.$TEXT['FILEDONEERROR'].'';
}
}
habe jetzt den hier diskutieren teil des scriptes entnommen, ich hoffe die klammern stimmen jetzt alle. :-)
das originalbild finder ihr hier:
download
ein 2600 pixel bild findet ihr hier:
download
ein 2900 pixel bild findet ihr hier:
download
bei fragen bitte fragen... danke für eure hilfe.