Ergebnis 1 bis 5 von 5

Thema: Thumbnail generieren/verbessern

  1. #1
    Teeny
    Registriert seit
    27.05.2005
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Thumbnail generieren/verbessern

    Hi, vorab muss ich sagen das ich zwar php Grundkenntnisse habe, jedoch kann ich komplexere Scripte nicht verstehen/verändern. Ich arbeite mit einem CMS womit ich meine Seite betreibe, in diesem werden für z.b die Gallery Thumbnails generiert, jedoch sind diese sehr verpixelt. Man sagte mir das der Algorithmus geschwindigkeitsoptimiert sein und nicht qualitativ.
    Hat einer einen Vorschalg wie man dieses Script verbesern könnte das die Thumbs besser aussehen?

    Das script:

    Code:
    	function savethumb($image,$dest) {
    		
    		global $picsize_h;
     		global $thumbwidth;
    
     		$max_x = $thumbwidth;
     		$max_y = $picsize_h;
    
     		$ext=getimagesize($image);
     		switch (strtolower($ext[2])) {
         	case '2': $im  = imagecreatefromjpeg ($image);
                         break;
         	case '1' : $im  = imagecreatefromgif  ($image);
                         break;
         	case '3' : $im  = imagecreatefrompng  ($image);
                         break;
         	default    : $stop = true;
                         break;
     		}
     
     		if (!isset($stop)) {
         $x = imagesx($im);
         $y = imagesy($im);
         
    
         	if &#40;&#40;$max_x/$max_y&#41; < &#40;$x/$y&#41;&#41; &#123;
             $save = imagecreatetruecolor&#40;$x/&#40;$x/$max_x&#41;, $y/&#40;$x/$max_x&#41;&#41;;
         	&#125;
         	else &#123;
             $save = imagecreatetruecolor&#40;$x/&#40;$y/$max_y&#41;, $y/&#40;$y/$max_y&#41;&#41;;
         	&#125;
         imagecopyresized&#40;$save, $im, 0, 0, 0, 0, imagesx&#40;$save&#41;, imagesy&#40;$save&#41;, $x, $y&#41;;
    
         imagejpeg&#40;$save, $dest, 80&#41;;
    
         imagedestroy&#40;$im&#41;;
         imagedestroy&#40;$save&#41;;
         return $result;
     		&#125; else return false;
    	&#125;
    Bin für alle Ratschläge offen, danke!
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    schau mal hier, vll hilft dir mein post weiter

    http://www.forum-hilfe.de/viewtopic.php?p=173027#173027
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    27.05.2005
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ja weist du genau da liegt jetzt das Problem.. wie gesagt ich bin so einer der Code bei Lesen verstehen kann, aber nix groß damit anzufangen weis

    Zum bsp, hab ich keine Ahnug wie ich das mit den vorhandenen Var. machen soll, die sind ja vorgegeben und werden wahrscheinlich von andern teilen des CMS genutz, also muss ich die Datei ja irgendwie umschreiben. Ich bin auch noch nicht so ganz dahintergestiegen wo genau das thumb, bzw. die qualität auf der strecke bleibt..

  4. #4
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ersetz deinen code mal hiermit (vorher ne kopie davon machen !)

    Code:
    $thumb_breite = 128;
    function savethumb&#40;$original,$thumb_dest&#41; &#123; 
       global $thumb_breite; 
       $orig = explode&#40;"/", $original&#41;; 
       $orig = array_reverse&#40;$orig&#41;; 
       $original_bild = $orig&#91;0&#93;; 
       $daten = getimagesize&#40;$original&#41;; 
       $orig_breite = $daten&#91;0&#93;; 
       $orig_hoehe = $daten&#91;1&#93;; 
       $skalierung = $orig_hoehe/$orig_breite; 
       $thumb_hoehe = $skalierung*$thumb_breite; 
       ## gif 
       if&#40;$daten&#91;2&#93; == 1&#41; &#123; 
           $orig_grafik = ImageCreateFromGIF&#40;$original&#41;; 
          $thumb_grafik = ImageCreateTrueColor&#40;$thumb_breite, $thumb_hoehe&#41;; 
          ImageCopyResized&#40;$thumb_grafik, $orig_grafik, 0, 0, 0, 0, $thumb_breite, $thumb_hoehe, $orig_breite, $orig_hoehe&#41;; 
          ImageGIF&#40;$thumb_grafik, $thumb_dest.$original_bild&#41;; 
          return true; 
       &#125; 
       ## jpeg 
       elseif&#40;$daten&#91;2&#93; == 2&#41; &#123; 
           $orig_grafik = ImageCreateFromJPEG&#40;$original&#41;; 
          $thumb_grafik = ImageCreateTrueColor&#40;$thumb_breite, $thumb_hoehe&#41;; 
          ImageCopyResized&#40;$thumb_grafik, $orig_grafik, 0, 0, 0, 0, $thumb_breite, $thumb_hoehe, $orig_breite, $orig_hoehe&#41;; 
          ImageJPEG&#40;$thumb_grafik, $thumb_dest.$original_bild&#41;; 
          return true; 
       &#125; 
       else &#123; 
           return false; 
       &#125; 
    &#125;
    so, jetzt solltest du des genauso aufrufen können wie sonst, du musst nur ganz oben die breite einstellen, statt iwo anders, aber das schaffste schon
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    27.05.2005
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi, hab das mal Versucht.. hab auch so weit die Variablen geändert, jedoch erstellt er mir jetzt kein Thumbnail mehr.. hab aber k.a wo der haken ist:

    Code:
    function savethumb&#40;$image,$dest&#41; &#123;
       global $thumbwidth;
       $orig = explode&#40;"/", $image&#41;;
       $orig = array_reverse&#40;$orig&#41;;
       $image_bild = $orig&#91;0&#93;;
       $daten = getimagesize&#40;$image&#41;;
       $orig_breite = $daten&#91;0&#93;;
       $orig_hoehe = $daten&#91;1&#93;;
       $skalierung = $orig_hoehe/$orig_breite;
       $thumb_hoehe = $skalierung*$thumbwidth;
       ## gif
       if&#40;$daten&#91;2&#93; == 1&#41; &#123;
           $orig_grafik = ImageCreateFromGIF&#40;$image&#41;;
          $thumb_grafik = ImageCreateTrueColor&#40;$thumbwidth, $thumb_hoehe&#41;;
          ImageCopyResized&#40;$thumb_grafik, $orig_grafik, 0, 0, 0, 0, $thumbwidth, $thumb_hoehe, $orig_breite, $orig_hoehe&#41;;
          ImageGIF&#40;$thumb_grafik, $dest.$image_bild&#41;;
          return $result;
       &#125;
       ## jpeg
       elseif&#40;$daten&#91;2&#93; == 2&#41; &#123;
           $orig_grafik = ImageCreateFromJPEG&#40;$image&#41;;
          $thumb_grafik = ImageCreateTrueColor&#40;$thumbwidth, $thumb_hoehe&#41;;
          ImageCopyResized&#40;$thumb_grafik, $orig_grafik, 0, 0, 0, 0, $thumbwidth, $thumb_hoehe, $orig_breite, $orig_hoehe&#41;;
          ImageJPEG&#40;$thumb_grafik, $dest.$image_bild&#41;;
          return $result;
       &#125;
       else &#123;
           return false;
       &#125;
    &#125;


    EDIT---------------------------------------------------------->>>>

    hab es hinbekommen... jedoch ist das Verfahren auch nicht sonderlich besser als das alte... jedoch bekommt man ein sehr gutes Ergebniss wenn man stat ImageCopyResized() einfach imagecopyresampled() nimmt also, dann kann man diesen Topic vergessen, Danke für die Hilfe

Ähnliche Themen

  1. Bild generieren
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 15.06.2008, 20:33
  2. Thumbnail Create
    Von pr0stAta im Forum Script-Archiv
    Antworten: 0
    Letzter Beitrag: 20.12.2006, 18:14
  3. Thumbnail Tutorial
    Von Wais im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 27.01.2005, 22:27
  4. Tabelle in File generieren
    Von AitschBi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 29.10.2004, 10:50
  5. thumbnail-konverter
    Von joel im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 9
    Letzter Beitrag: 14.09.2004, 01:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •