[PHP] Thumbnails

Dieses Thema im Forum "Webentwicklung" wurde erstellt von master2005, 3. August 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. August 2007
    Thumbnails

    Hallo @ all

    ich habe eine Frage und zwar möchte ihc thumbnails erstellen lassen habe auch schon was gefunden aber ich möchte die proptioenen des bildes bei behalten aber immer die gleiche größe in der breite und höhe haben....(Profilbild halt)


    geht dies weil bisher habe ich noch nichts gefunden was die genaue Größe erstellt und die propotionen beibehält...



    mfg
     
  2. 3. August 2007
    AW: Thumbnails

    joa, klar geht das:
    PHP:
       function  create_thumbnail  ( $inputfile $max_width = 110 $max_height = 110 $outputfile = false $quali = 90 ) {
        if (
    in_array ( substr ( strtolower ( $inputfile ), - 3 ), array( 'jpg' 'peg' )))
          
    $img_temp  = @ imagecreatefromjpeg ( $inputfile );
        elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'gif' )
          
    $img_temp  = @ imagecreatefromgif ( $inputfile );
        elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'png' )
          
    $img_temp  = @ imagecreatefrompng ( $inputfile );
        else
          return 
    false ;

        if (
    $img_temp )
        {
          
    $img_width  imagesx ( $img_temp );
          
    $img_height  imagesy ( $img_temp );
          if (
    $img_width  $max_width ) {
            
    $img_height  $img_height *( $max_width / $img_width );
            
    $img_width  $max_width ;
          }
          if (
    $img_height  $max_height ) {
            
    $img_width  $img_width *( $max_height / $img_height );
            
    $img_height  $max_height ;
          }
          
    $img_thumb = imagecreatetruecolor ( $img_width $img_height );

          
    imagecopyresampled ( $img_thumb ,
          
    $img_temp , 0 , 0 , 0 , 0 , $img_width ,
          
    $img_height ,
          
    imagesx  ( $img_temp ),
          
    imagesy ( $img_temp ));

          if (
    $outputfile  !==  false ) {
            
    imagejpeg ( $img_thumb $outputfile $quali );
            
    chmod ( $outputfile 777 );
          }
          else
            
    imagejpeg ( $img_thumb );
          
    imagedestroy  ( $img_thumb );
        }
      }
    ich hoffe du weißt wie man funktionen aufruft variabeln sollten sich selbst erklären
     
  3. 4. August 2007
    AW: Thumbnails

    danke das klappt zwar wunderbar aber es sind halt immer nur die maxwerte angegeben geht das ncith das man die werte angibt und das bild GENAU so groß erstellt wird aber TROTZDEM die Propotionen beibehalten werden?


    mfg

    und danke
     
  4. 4. August 2007
    AW: Thumbnails

    Meinst du nicht, das kannst du selbst?
    Das ist ein bisschen Mathe...
    Wenn du zb Breite angibst, musst du errechnen, umwieviel es verkleinert wurde und das dann auch mit der Höhe machen.....

    MfG
     
  5. 4. August 2007
    AW: Thumbnails

    achso, du willst also das ganze dann mit nem weißen rand füllen oder was?
    da hab ich natürlich auch direkt mal was parat ^^
    PHP:
    function  create_thumbnail  ( $inputfile $max_width = 110 $max_height = 110 $outputfile = false $quali = 90 ) {
      if (
    in_array ( substr ( strtolower ( $inputfile ), - 3 ), array( 'jpg' 'peg' )))
        
    $srcimg  imagecreatefromjpeg ( $inputfile );
      elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'gif' )
        
    $srcimg  imagecreatefromgif ( $inputfile );
      elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'png' )
        
    $srcimg  imagecreatefrompng ( $inputfile );

      if (!
    $srcimg )
        return 
    false ;
      else {
        
    $img_width  imagesx ( $srcimg );
        
    $img_height  imagesy ( $srcimg );

        

        
    if ( $img_width  $max_width  &&  $img_height  $max_height ) {
          if (
    $img_height  $img_width ) {
            
    $img_height  ceil ( $img_height *( $max_width / $img_width ));
            
    $img_width  $max_width ;
          }
          else {
            
    $img_width  ceil ( $img_width *( $max_height / $img_height ));
            
    $img_height  $max_height ;
          }
        }
        
    $thumbimg  imagecreatetruecolor ( $img_width $img_height );
        
    imagecopyresampled ( $thumbimg ,
        
    $srcimg , 0 , 0 , 0 , 0 , $img_width ,
        
    $img_height ,
        
    imagesx  ( $srcimg ),
        
    imagesy ( $srcimg ));

        

        
    $cutted_w  0 ;
        
    $cutted_h  0 ;
        if (
    $img_width  $max_width )
          
    $cutted_w  = ( $img_width - $max_width );
        if (
    $img_height  $max_height )
          
    $cutted_h  = ( $img_height - $max_height );

        

        
    $fill_w  0 ;
        
    $fill_h  0 ;
        if (
    $img_width  $max_width )
          
    $fill_w  = ( $max_width - $img_width );
        if (
    $img_height  $max_height )
          
    $fill_h  = ( $max_height - $img_height );

        
    $dstimg  imagecreatetruecolor ( $max_width $max_height );
        
    imagefill ( $dstimg 0 0 imagecolorallocate ( $dstimg 255 255 255 ));

        
    imagecopyresampled ( $dstimg $thumbimg ,
        
    $fill_w / 2 , $fill_h / 2 ,
        
    $cutted_w / 2 , $cutted_h / 2 ,
        
    $img_width - $cutted_w $img_height - $cutted_h ,
        
    $img_width - $cutted_w $img_height - $cutted_h );

        if (
    $avatar_file_extension  ==  'jpeg'  ||  $avatar_file_extension  ==  'jpg' ) {
          if (
    $outputfile  !==  false )
            
    imagejpeg ( $dstimg $outputfile $quali );
          else
            
    imagejpeg ( $dstimg );
        }
        elseif (
    $avatar_file_extension  ==  'gif' ) {
          if (
    $outputfile  !==  false )
            
    imagegif ( $dstimg $outputfile );
          else
            
    imagegif ( $dstimg );
        }
        elseif (
    $avatar_file_extension  ==  'png' ) {
          if (
    $outputfile  !==  false )
            
    imagepng ( $dstimg $outputfile );
          else
            
    imagepng ( $dstimg );
        }
        
    imagedestroy  ( $srcimg );
        
    imagedestroy  ( $thumbimg );
        
    imagedestroy  ( $dstimg );
      }
    }
    frisst natürlich etwas mehr speicher
     
  6. 4. August 2007
    AW: Thumbnails

    Vielen Dank Schmitz das du mir so hilfst die letzte Variante wäre geil leider eird damit kein Thumbnail erstellt glaube dort ist ein kleiner Fehler drinne....wäre nett wenn du mal schauen könntest...


    mfg & thx
     
  7. 4. August 2007
    AW: Thumbnails

    Ähm die Suchfunktion benutzt und meine Thumbnailklasse nicht gefunden?
     
  8. 4. August 2007
    AW: Thumbnails

    ja doch aber der script erstellt ja ein thumbnail was nur eine angegebene breite hat ich möchte aber das es eine exakte größe hat in der breite so wie auch in der höhe d.h. wenn es andernfalls nicht propotional bleibt soll halt ein weißer rahmen o.ä. erstellt werden im thumbnail....

    mfg
     
  9. 5. August 2007
    AW: Thumbnails

    ups, hab was vergessen zu ersetzen
    hab das aus meinem wbb rauskopiert und in ne funktion gepackt
    aber $avatar_file_extension existiert ja garnicht...
    PHP:
    function  create_thumbnail  ( $inputfile $max_width = 110 $max_height = 110 $outputfile = false $quali = 90 ) {
      if (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'jpeg'  ||  substr ( strtolower ( $inputfile ), - 3 ) ==  'jpg' )
        
    $srcimg  imagecreatefromjpeg ( $inputfile );
      elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'gif' )
        
    $srcimg  imagecreatefromgif ( $inputfile );
      elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'png' )
        
    $srcimg  imagecreatefrompng ( $inputfile );

      if (!
    $srcimg )
        return 
    false ;
      else {
        
    $img_width  imagesx ( $srcimg );
        
    $img_height  imagesy ( $srcimg );

        

        
    if ( $img_width  $max_width  &&  $img_height  $max_height ) {
          if (
    $img_height  $img_width ) {
            
    $img_height  ceil ( $img_height *( $max_width / $img_width ));
            
    $img_width  $max_width ;
          }
          else {
            
    $img_width  ceil ( $img_width *( $max_height / $img_height ));
            
    $img_height  $max_height ;
          }
        }
        
    $thumbimg  imagecreatetruecolor ( $img_width $img_height );
        
    imagecopyresampled ( $thumbimg ,
        
    $srcimg , 0 , 0 , 0 , 0 , $img_width ,
        
    $img_height ,
        
    imagesx  ( $srcimg ),
        
    imagesy ( $srcimg ));

        

        
    $cutted_w  0 ;
        
    $cutted_h  0 ;
        if (
    $img_width  $max_width )
          
    $cutted_w  = ( $img_width - $max_width );
        if (
    $img_height  $max_height )
          
    $cutted_h  = ( $img_height - $max_height );

        

        
    $fill_w  0 ;
        
    $fill_h  0 ;
        if (
    $img_width  $max_width )
          
    $fill_w  = ( $max_width - $img_width );
        if (
    $img_height  $max_height )
          
    $fill_h  = ( $max_height - $img_height );

        
    $dstimg  imagecreatetruecolor ( $max_width $max_height );
        
    imagefill ( $dstimg 0 0 imagecolorallocate ( $dstimg 255 255 255 ));

        
    imagecopyresampled ( $dstimg $thumbimg ,
        
    $fill_w / 2 , $fill_h / 2 ,
        
    $cutted_w / 2 , $cutted_h / 2 ,
        
    $img_width - $cutted_w $img_height - $cutted_h ,
        
    $img_width - $cutted_w $img_height - $cutted_h );

        if (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'jpeg'  ||  substr ( strtolower ( $inputfile ), - 3 ) ==  'jpg' ) {
          if (
    $outputfile  !==  false )
            
    imagejpeg ( $dstimg $outputfile $quali );
          else
            
    imagejpeg ( $dstimg );
        }
        elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'gif' ) {
          if (
    $outputfile  !==  false )
            
    imagegif ( $dstimg $outputfile );
          else
            
    imagegif ( $dstimg );
        }
        elseif (
    substr ( strtolower ( $inputfile ), - 3 ) ==  'png' ) {
          if (
    $outputfile  !==  false )
            
    imagepng ( $dstimg $outputfile );
          else
            
    imagepng ( $dstimg );
        }
        
    imagedestroy  ( $srcimg );
        
    imagedestroy  ( $thumbimg );
        
    imagedestroy  ( $dstimg );
      }
    }
     
  10. 5. August 2007
    AW: Thumbnails

    Vielen Dank!!!!

    Perfekt!!!
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.