Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Thumbnails erzeugen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
pvdb
PostRank 5
PostRank 5
Beiträge: 321
Registriert: 16.01.2005, 22:37
Wohnort: Hannover

Beitrag von pvdb » 30.09.2005, 01:16

Hi,

um bilder in unterschiedlichen größen zu generieren, habe ich mir eine einfache funktion gebaut:

Code: Alles auswählen

function createThumb($remote, $img_width, $target)
{
   // Bildgröße ermitteln
   list($src_width, $src_height, $type) = getimagesize($remote); 
   
   // Die breite muss verkleinert werden
   if ($src_width > $img_width)
   {
      $new_width = $img_width; 
      $new_height = intval($src_height*$new_width/$src_width); 
      
      switch($type)
      {
         case 1:
            $old_image = ImageCreateFromGIF($remote); 
            $new_image = ImageCreate($new_width, $new_height); 
            ImageCopyResized($new_image, $old_image, 0, 0, 0, 0, $new_width, $new_height, $src_width, $src_height); 
            ImageJPEG($new_image, $target); 
         break;
         
         case 2:
            $old_image = ImageCreateFromJPEG($remote); 
            $new_image = ImageCreate($new_width, $new_height); 
            ImageCopyResized($new_image, $old_image, 0, 0, 0, 0, $new_width, $new_height, $src_width, $src_height); 
            ImageJPEG($new_image, $target); 
         break;
      }
   }   
   else
   {
      // bildgröße okay
      copy($remote, $target);
   }
}
Soweit funktioniert die Funktion auch, jedoch gibst da zwei kleine Probleme.

Hin und wieder werden Bilder erzeugt, die komplett schwarz sind. Ich habe mir von diesen Bildern mal die Original Dateien angesehen. Entweder die Bilder sind kaputt (wenn ich Sie im Web angucke sehe ich nur die Umrisse der breite) oder die Bilder sind vorhanden und haben eine sehr breite Breite (wie sich das anhört :) ).

Schwarze Bilder möchte ich nicht haben, da lasse ich lieber mein 404 Bild anzeigen. Wo im Quelltext kann ich abfragen ob ein sauberes Bild erzeugt werden konnte oder ist dies nicht möglich?

Hin und wieder kommt auch mal so ne Fehlermeldung:

Warning: imagecreatefromjpeg(): '.....' is not a valid JPEG file

Die Original Datei, kann aber ohne Probleme angezeigt werden. Muss ja irgendwas nicht stimmen?

Phil

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Johny
PostRank 3
PostRank 3
Beiträge: 66
Registriert: 22.11.2004, 11:29
Wohnort: Hamburg

Beitrag von Johny » 30.09.2005, 03:04

was sind das denn für orginaldateien wo sind die her, saugst du die irgendwo aus dem web?
Vielleicht sind es gifs die aber auf .jpg enden
Traumjob Adultwebmaster - mit heissen Seiten Geld verdienen - Suchmaschinen Traffic erziehlt top Convertionen.

pvdb
PostRank 5
PostRank 5
Beiträge: 321
Registriert: 16.01.2005, 22:37
Wohnort: Hannover

Beitrag von pvdb » 30.09.2005, 06:43

das sind lediglich lieferanten bilder, die durch eine c++ soft als zip geladen werden, dann entpackt werden, entsprechend umbenannt werden und ins web hochgeladen werden.

wäre denkbar, dass das einige gif bilder als jpg endung vorhanden sind. aus diesem grund habe ich ja auch mein switch case eingebaut, so dass es dieses problem doch nicht mehr geben sollte. da wird dann ein gif geöffnet und als jgp wieder abgespeichert.

lediglich an der stelle wo die bilder einfach kopiert werden könnte ich wohl noch prüfen ob es ein gif bild ist und dann konvertieren.

dennoch müssen fehlerhafte bilder an geeineter position abgefangen werden.

phil

SISTRIX
PostRank 9
PostRank 9
Beiträge: 1255
Registriert: 01.09.2003, 20:57
Wohnort: Bonn

Beitrag von SISTRIX » 30.09.2005, 08:50

pvdb hat geschrieben:Schwarze Bilder möchte ich nicht haben, da lasse ich lieber mein 404 Bild anzeigen. Wo im Quelltext kann ich abfragen ob ein sauberes Bild erzeugt werden konnte oder ist dies nicht möglich?
Vielleicht die Checksumme des neuen Bildes gegen die eines komplett schwarzen vergleichen und ggfl. aussortieren?

Gruß Johannes
SISTRIX Suchmaschinen Blog
SEO- und SEM-Tools: [url=httpss://tools.sistrix.de/toolbox/?tid=lnk_foren_abk]SISTRIX Toolbox[/url]
Linktausch für PR9 und 10 gesucht!

Bimbel
PostRank 3
PostRank 3
Beiträge: 93
Registriert: 13.03.2005, 15:47
Wohnort: Griesheim

Beitrag von Bimbel » 30.09.2005, 11:52

Was es auch sein kann:
Die Originalbilder belegen (entpackt im Hauptspeicher) zuviel Speicher, sprich mehr, als du PHP als maximale Größe zugewiesen hast, dann entstehen auch schwarze Bilder. Dies könntest du abfangen, indem du
- den Speicher für PHP erhöhst oder
- die Auflösung der Bilder vorher prüfst und damit den Speicherbedarf errechnest

pvdb
PostRank 5
PostRank 5
Beiträge: 321
Registriert: 16.01.2005, 22:37
Wohnort: Hannover

Beitrag von pvdb » 01.10.2005, 17:31

so, die bilder die heile sind, werden nun in entsprechenden größen erzeugt, wenns nen fehler gibt, werden die überpsrungen. vorhandene fehlerhafte daten werden gelöscht. eine meldung kommt von php, die lässt sich nicht ausblenden, aber nicht so wild.

eine neue soft, lädt sich nun die fehlerhaften bilder direkt vom den lieferantenseiten und fertig :)

vielen dank nochmal für die hinweise.

phil

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag