Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst So 17.10.2004 12:22
Titel [PHP] GD-Lib. - Gott wie umständlich! |
|
|
Hi Leute,
sitz hier jetzt schon seit Stunden und versuche mit der GD LIB nach dem Upload eines Bildes
a) das original auf 300x300 Pixel max. zu skalieren(proportional)
und
b) noch ein kleines schnuckeliges thumbnail mit 135x135 max(natürlich auch proportional)
anzulegen und ich brech mir hier einen ab.
Gibts nicht irgendwie ne Nette Klasse oder so, an die ich meine Werte übergeben kann und fertig is die Laube?
Mit ImageMagick war ich für sowas mit einer Zeile Mogrify durch mit der Geschichte.
Zu meinem Pech unterstützt dieser Server kein ImageMagick so dass ich gezwungen bin GD zu nutzen.
Wäre dankbar für jeden geposteten Code.
-> MG-Suche erfolglos
-> Google = Bullshit, steig ich nicht durch, was das richtige für mich is
Bitte helft mir. Danke
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
|
|
|
|
Anzeige
|
|
|
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst So 17.10.2004 12:41
Titel
|
|
|
DANK! Das probier ich gleich mal aus.
Im übrigen ruft Dein Avatar angenehme Erinnerungen in mein Hirn
Mmmmh Monkey Island
|
|
|
|
|
marcusm
Dabei seit: 06.05.2002
Ort: europa
Alter: 46
Geschlecht:
|
Verfasst So 17.10.2004 12:42
Titel
|
|
|
Tach!
Hier mal ein Script aus meiner PHP Anfangszeit, ist bestimmt nicht elegant aber es funktioniert bestens:
Code: |
if(@copy($userfile, $path.$userfile_name)){
//Bei erfolgreichem Kopiervorgang wird das Thumbnail generiert und in den entsprechenden Ordner kopiert.
$thumb_file=$userfile;
$bilddaten = getimagesize($thumb_file);
$originalbreite = $bilddaten[0];
$originalhoehe = $bilddaten[1];
$thumbnailbreite = 116;
if($originalbreite < $thumbnailbreite) $thumbnailbreite=$originalbreite;
$Skalierungsfaktor = $originalbreite/$thumbnailbreite;
$thumbnailhoehe = intval($originalhoehe/$Skalierungsfaktor);
if($bilddaten[2]==2){
$originalgrafik = imagecreatefromJPEG($thumb_file);
$thumbnailgrafik = imagecreatetruecolor($thumbnailbreite, $thumbnailhoehe);
ImageCopyResized($thumbnailgrafik, $originalgrafik, 0, 0, 0, 0, $thumbnailbreite, $thumbnailhoehe, $originalbreite, $originalhoehe);
ImageJPEG($thumbnailgrafik, $path."thumb_".$userfile_name);
}
elseif($bilddaten[2]==3){
$originalgrafik = imagecreatefromPNG($thumb_file);
$thumbnailgrafik = imagecreatetruecolor($thumbnailbreite, $thumbnailhoehe);
ImageCopyResized($thumbnailgrafik, $originalgrafik, 0, 0, 0, 0, $thumbnailbreite, $thumbnailhoehe, $originalbreite, $originalhoehe);
ImagePNG($thumbnailgrafik, $path."thumb_".$userfile_name);
}
$path1="/diesunddas//dateiupload/bilder_user/";
$path2="/diesunddas/dateiupload/bilder_user/thumbs/";
//Das Thumbnail wird aus dem Ordner der Originaldatei geloescht und in den Thumbordner kopiert.
@copy($path1."thumb_".$HTTP_POST_FILES["userfile"]["name"], $path2."thumb_".$HTTP_POST_FILES["userfile"]["name"]);
$image_del=$path1."thumb_".$HTTP_POST_FILES["userfile"]["name"];
chmod($image_del, 0777);
unlink($image_del);
}
|
Falls Du ne Frage hast, stell sie einfach...
Gruß
marcusm
|
|
|
|
|
aUDIOfREAK
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst So 17.10.2004 12:46
Titel
|
|
|
schau doch mal unter hotscripts.com - da gibts genug bildergalerien die die gd-lib nutzen - da sind sicher auch irgendwelche klassen dabei, die du verwenden kannst.
oder such mal über google nach thumbnail php - da gibbed irgendwo n ganzen haufen tutorials die sich damit beschäftigen.
|
|
|
|
|
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst So 17.10.2004 12:51
Titel
|
|
|
hab jetzt dieses hier:
Code: | function resize1($bild,$max_width,$max_height,$bezeichner,$dir){
$id="$dir$bild";
$size = GetImageSize($id);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ($width <= $max_width && $height <= $max_height)
{
$tn_width = $width;
$tn_height = $height;
}
elseif (($x_ratio * $height) < $max_height)
{
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else
{
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($id);
$dst = imagecreatetruecolor($tn_width,$tn_height);
ImageCopyResized($dst,$src,0,0,0,0,$tn_width,$tn_height,$width,$height);
$bild_name=explode(".",$bild);
$id1=$dir.$bild_name[0].$bezeichner.".".$bild_name[1];
ImageJPEG($dst,"$id1",100);
$size = GetImageSize ("$id1");
ImageDestroy($src);
ImageDestroy($dst);
} |
funzt 1a! hab jetzt auch den grund für meine eskapaden rausgefunden.
hatte ja schon viele scripte ausprobiert, aber die meisten waren für die GD 1.65 und halt ältere Versionen geschrieben. Die Bilder konnte man da gar nicht mehr erkennen. Ab Version 2 muss man wohl
imagecreatejpg durch imagecreatetruecolor ersetzen
scheiss moderner schnickschnack. um so froher, dass es jetzt funzt!
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst So 17.10.2004 13:04
Titel
|
|
|
ich glaube, die imagetoolbox fängt sogar verschiedene versionen ab...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Photoshop alltäglich umständlich
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|