Tipp mal in google: php thumbs on the fly ein.
Fertige funktionen sowie massenweise Tutorials wirst du dann finden.
Reicht das als Denkanstoß, oder hast du eine speziellere Frage?
Hallo zusammen,
ich möchte für mein Photoblog quadratische Thumbs erstellen, auf einer Seite darstellen und mit den Originalfotos verlinken. ImageMagick 6 und GD Lib sind vorhanden.
Kann mir mal jemand einen Denkanstoß geben, damit ich gezielter suchen kann. Meine PHP- Kenntnisse sind leider noch sehr bescheiden.
Danke, Jörg
Tipp mal in google: php thumbs on the fly ein.
Fertige funktionen sowie massenweise Tutorials wirst du dann finden.
Reicht das als Denkanstoß, oder hast du eine speziellere Frage?
Zwei Dinge sind Unbestreitbar:Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Vielleicht später, ich werde erst suchen.
Danke!
Hab da was fertiges, was Dir ggf. helfen kann.
Benötigt wird GD 2.x
PHP-Code:<?
// Funktionsablauf Fotoupload
function uploader($fotofile,$fotofile_name){
//*******************************************
// Bitte hier die Einstellungen vornehmen
//*******************************************
// Angabe der Rahmendicke in px (an der längsten Kante)
$rahmen = '10';
// Angebae der Rahmenfarbe (in RGB-Werten!!)
$farbe_r = '128';
$farbe_g = '0';
$farbe_b = '0';
// Angaben der Thumbnailgrößen in px
// Querformat:
$thumb_max_x = '120';
// Hochformat:
$thumb_max_y = '120';
// Zielordner. Wenn hier nichts angegene ist, dann ist der Speicherort des Scriptes der Zielordner.
// Können auch identisch sein, da die Dateinamen eh einen entsprechenden Zusatz erhalten!
// Zielordner für die Originalfotos (Ordner muss CHMOD 666 haben !!)
$zielorg = "";
// Zielordner für die Thumbnails (Ordner muss CHMOD 666 haben !!)
$zielthm = "";
//*******************************************
// ENDE DER EDITIERUNG
//*******************************************
// Angabe Dateiendung
$datei_ende = ".jpg";
// Org.-Foto speichern
$zielorg .= substr($fotofile_name,0,strrpos($fotofile_name,"."))."_org" . $datei_ende;
copy($fotofile, $zielorg);
// Angaben für das Thumbnail
$zielthm .= substr($fotofile_name,0,strrpos($fotofile_name,"."))."_thm" . $datei_ende;
$large_img = $zielorg;
$large_img = ImageCreateFromJPEG($large_img);
$size = getimagesize($zielorg);
$width_max = $size[0];
$height_max = $size[1];
$test_max = $width_max/$height_max;
if($test_max > 1){
if($width_max > $thumb_max_x){
$width_max = $thumb_max_x;
$height_max = $thumb_max_x / $test_max;
$image_max = imagecreatetruecolor($width_max+$rahmen ,$width_max+$rahmen);
$rand1 = $rahmen/2;
$rand2 = (($width_max+$rahmen)/2)-($height_max/2);
}
}else{
if($height_max > $thumb_max_y){
$height_max = $thumb_max_y;
$width_max = $thumb_max_y * $test_max;
$image_max = imagecreatetruecolor($height_max+$rahmen ,$height_max+$rahmen);
$rand1 = (($height_max+$rahmen)/2)-($width_max/2);
$rand2 = $rahmen/2;
}
}
$bsrc = imagesx($large_img);
$hsrc = imagesy($large_img);
$farbe1 = imagecolorallocate($image_max,$farbe_r,$farbe_g,$farbe_b);
imagefilltoborder($image_max,0,0,$farbe1,$farbe1);
ImageCopyResized($image_max,$large_img,$rand1,$rand2,0,0,$width_max,$height_max,$bsrc,$hsrc);
ImageJPEG($image_max,$zielthm,100);
}
if(!$action){
?>
<form name="formular" enctype="multipart/form-data" action="<?echo $PHP_SELF?>?action=upload"" method="post">
Neues Foto hochladen: <input name="foto" type="file" size="50"><input name="Submit" type="submit" value="eintragen">
</form>
<?
}
if($action==upload){
// So wird die Upload-Funktion aufgerufen. Die Var. kommen über POST vom Formular
uploader($foto,$foto_name);
echo "Upload ist erfolgt.<br><a href=\"".$PHP_SELF."\">zurück</a>";
}
?>
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)