[PHP] Thumbnail

Dieses Thema im Forum "Webentwicklung" wurde erstellt von master2005, 11. März 2007 .

Schlagworte:
  1. 11. März 2007
    Thumbnail

    Guten Tag zusammen ich habe folgendes Problem und zwar nöchte ich gerne Thumbnails erzeugen dies geht auch ohne Probleme jedoch kann mann nur die Breite angeben des erstellendem Thumbnail ich möchte aber auch eine max. Höhe angeben weil die Thumbnail sonst alles unterschiedlich groß sind.
    Das Heißt im Klartext das ich eine max. breite und eine max. Höhe gerne angeben will.
    Bisher gebe ich die Breite an und php errechnet die höhe so das das bild sich nicht verzerrt.
    Ich habe mir das so gedacht das ich beides angeben kann wenn es sich verzerrt soll er dann die nächst mögliche kleinere größe nehmen damit die bildverhältnisse passen..kann mir dabei einer helfen?


    $OriginalBreite = $Bilddaten[0];
    $OriginalHoehe = $Bilddaten[1];
    $ThumbnailBreite = 80;


    if($OriginalBreite < $ThumbnailBreite)
    {
    $ThumbnailBreite=$OriginalBreite;
    }
    $Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;

    $ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);
     
  2. 11. März 2007
    AW: Thumbnail

    PHP:
    $OriginalBreite  $Bilddaten [ 0 ];
    $OriginalHoehe  $Bilddaten [ 1 ];
    $ThumbnailBreite  80 ;


    if(
    $OriginalBreite  $ThumbnailBreite )
    {
    $ThumbnailBreite = $OriginalBreite ;
    }
    $Skalierungsfaktor  $OriginalBreite / $ThumbnailBreite ;

    $ThumbnailHoehe  intval ( $OriginalHoehe / $Skalierungsfaktor );

    if(
    $ThumbnailHoehe  $max_hoehe )
    {
        
    $ThumbnailHoehe  $max_hoehe ;
        
    $ThumbnailBreite  intval ( $OriginalBreite * $ThumbnailHoehe / $OriginalHoehe );
    }
    so in etwa?
     
  3. 12. März 2007
    AW: Thumbnail

    dies hat auch nicht geklappt hast du eventuell eine andere lösung oder einen anderen script?

    mfg
     
  4. 12. März 2007
    AW: Thumbnail

    hast du $max_hoehe auch gesetzt

    mein thumbnail script sieht so aus (hab noch die abfrage eingebaut):
    PHP:
    <? php


    function  mk_tn ( $pic $dir $calc $new )
    {
        
    $max_height  200 // maximale hoehe
            
        
    if( $calc  ==  'height'  OR  $calc  ==  'width' )
        {    
            
    // Bilddaten feststellen
            
    $size  getimagesize ( $dir . '/' . $pic );
            
    $width  $size [ 0 ];
            
    $height  $size [ 1 ];
            
            if(
    $calc  ==  'height' )
            {
                
    $new_height  intval ( $height * $new / $width );
                
    $new_width  $new ;
            }
            else
            {
                
    $new_width  intval ( $width * $new / $height );
                
    $new_height  $new ;
            }
            
            if(
    $new_height  $max_height // abfrage nach zu großer hoehe
            
    {
                
    $new_height  $max_height ;
                
    $new_width  intval ( $width * $new_height / $height );
            }
            
            if(!
    file_exists ( $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic ))
            {                            
                if(
    $size [ 2 ] ==  2 // kann man natuerlich noch fuer gif etc erweitern
                
    {     
                    
    // JPG
                    
    $oldpic  imagecreatefromjpeg ( $dir . '/' . $pic );
                    
    $newpic  imagecreatetruecolor ( $new_width $new_height );
                    
    imagecopyresampled ( $newpic $oldpic 0 0 0 0 $new_width $new_height $width $height );
                    
    imagejpeg ( $newpic $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic );
                                        
                    
    $tn_path  $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic ;
                    return 
    $tn_path ;
                }
                else
                {
                    return 
    FALSE ;
                }
            }
            else
            {
                
    $tn_path  $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic ;
                return 
    $tn_path ;
            }
        }
        else
        {
            return 
    FALSE ;
        }
    }
    ?>
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.