 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
04.07.2002, 16:49
|
#1
|
|
TP-Veteran
Registriert seit: Jan 2002
|
GD-Lib: Bilddateigenerierung klappt nicht, wie sie soll
Ich hab vor, mir ein kleines Fotogallerie-Script zu schreiben, das Thumbnails zu seinen Bildern automatisch erzeugen soll, falls sie noch nicht vorhanden sind.
Diese Aufgabe soll folgende Methode übernehmen:
PHP-Code:
function createThumb($imgfile)
{
$thumbfile = $this->dir_thumbs . $this->prefix_thumbs . $imgfile;
// if(!file_exists($thumbfile))
{
$handle_image = ImageCreateFromJPEG($this->dir_images . $imgfile);
$handle_thumb = ImageCreate($this->thubmnail_width, $this->thumbnail_height);
$width = imageSX($handle_image);
$height = imageSY($handle_image);
// echo "Original image: $dir_images . $imgfile - $width x $height";
imagecopyresized ($handle_thumb, $handle_image, 0, 0, 0, 0, $width, $height, $this->thumbnail_width , $this->thumbnail_height);
imagegd2($handle_thumb, $thumbfile);
}
return $thumbfile;
}
Die Funktion prüft das Vorhandensein einer Thumbnail-Datei zur übergebenen Datei $imgfile und soll diese falls notwendig generieren.
Dazu wird das Originalbild geladen, auf die angebegenen Thumbnail-Maße verkleinert und in einer neuen Datei abgespeichert.
Diese Thumbnail-Datei wird ansich auch erzeugt, ist allerdings in jedem Fall lediglich 775 Byte groß und kein gültiges JPEG.
Was mach ich falsch?
Geändert von seb (04.07.2002 um 16:55 Uhr).
|
|
|
04.07.2002, 16:55
|
#2
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Schau Dir mal dieses Script an, es macht genau das, was Du brauchst:
http://www.flashdreams.de/tuts/php-t...humbnails.html
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
04.07.2002, 16:56
|
#3
|
|
TP-Veteran
Registriert seit: Apr 2001
Ort: Münster und gerade aus Brisbane
|
|
|
|
04.07.2002, 17:03
|
#4
|
|
TP-Veteran
Registriert seit: Jan 2002
|
okay, danke...ich werd mal gucken.
Übrigens hatte ich einen simplen Tippfehler in einem Variablennamen ('$this->thubmnail_width')...seit der korrigiert ist, werden die Thumbs immerhin 11k groß...das is schon eher realistisch, aber funktionierende Grafiken sind sie immer noch nicht.
|
|
|
04.07.2002, 17:20
|
#5
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Soweit ich eure Vorschläge verstehe, generieren beide Scripts die Thumbnails bei jedem Aufruf neu und senden die Bildinformationen direkt an den Browser, ohne jedoch irgendeine Datei anzulegen.
Ich möcht allerdings 'echte' Thumbnail-Files erzeugen...kein Script, dass das Bild jedes mal neu berechnet und sich mit manipuliertem Header als Grafikdatei ausgibt.
|
|
|
04.07.2002, 17:39
|
#6
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
erkläre hiermit KW 27 zur GD woche
PHP-Code:
function bild($bild)
{
if (!$bild) exit;
$size=getimagesize($bild);
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100; //besser porzentuelle berechnung...
$neueHoehe=200; //besser porzentuelle berechnung...
$altesBild=ImageCreateFromJPEG($bild);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPG($neuesBild,$pfadmitneuenbildnamen);
}
hab ja gewusst, das könnte manchmal nützlich sein...
lf
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
04.07.2002, 17:59
|
#7
|
|
TP-Veteran
Registriert seit: Jan 2002
|
...imageJPEG, genau. Das hab ich mittlerweile auch entdeckt, und im prinzip funktionierts jetzt.
Allerdings lässt die Qualität der Thumbnails sehr zu wünschen übrig, egal was ich als drittes Argument an imageJPEG() übergebe.
Ganz ohne (Standardwert laut Dokumentation: 75/Gute Qualität) siehts so aus:
Fotogallerie
[edit]
okay, schuld warn vertauschte variablen in imagecopyresized().
Jetzt klappts super und genau so, wie ichs wollte
-> Thema erledigt
Geändert von seb (04.07.2002 um 18:14 Uhr).
|
|
|
04.07.2002, 21:54
|
#8
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Zitat:
Original geschrieben von seb
Soweit ich eure Vorschläge verstehe, generieren beide Scripts die Thumbnails bei jedem Aufruf neu und senden die Bildinformationen direkt an den Browser, ohne jedoch irgendeine Datei anzulegen.
Ich möcht allerdings 'echte' Thumbnail-Files erzeugen...kein Script, dass das Bild jedes mal neu berechnet und sich mit manipuliertem Header als Grafikdatei ausgibt.
|
Nein - das Script, was ich Dir via URL angegeben habe, erzeugt von einem Bild ein Tumbnail und legt es in einem Verzeichnis ab. Änderst Du das Bild, wird automatisch ein neues Tumbnail erzeugt. Das Script ist wirklich sehr nützlich, es kann auch vergrößern/verkleinern usw.
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
05.07.2002, 00:02
|
#9
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Hmmm...*nochmalanguck*...okay, ich muss zugeben, dass du recht hast.
Trotzdem bleib ich bei meinem...es macht das, was ich wollte und ich leg viel Wert drauf, meine Scripts selbst zu schreiben.
Aus 'Stolz' (vielleicht n bisschen übertrieben, der Ausdruck) und weil das die beste Lernmethode überhaupt is.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:52 Uhr.
|
 |