Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Как сделать картинки предпросмотра? (https://forum.antichat.xyz/showthread.php?t=127109)

Ridikh 26.06.2009 21:11

Как сделать картинки предпросмотра?
 
Есть скрипт, который выдает страницы с фотками, нужно чтобы на этих страницах показывались уменьшенные по весу и по размеру картинки предпросмотра фоток. подскажите как решить проблему.

m0Hze 26.06.2009 21:51

img_resize('откуда','куда',высота, шитрина,1,качество(100)).

m0Hze 27.06.2009 13:03

Чего непонятного? Я тебе написал параметры функций, просто применяй к нужной картинке и всо,заноси в базу адреса маленькой и большой картинки,и выводи.Чо тупить то лишний раз

Pashkela 27.06.2009 13:34

PHP код:

<pre>
<?php 
@set_time_limit(0); 
@
ini_set("display_errors","1");

function 
resize($img$thumb_width$newfilename

  
$max_width=$thumb_width;

    
//Check if GD extension is loaded
    
if (!extension_loaded('gd') && !extension_loaded('gd2')) 
    {
        
trigger_error("GD is not loaded"E_USER_WARNING);
        return 
false;
    }

    
//Get Image size info
    
list($width_orig$height_orig$image_type) = getimagesize($img);
    
    switch (
$image_type
    {
        case 
1$im imagecreatefromgif($img); break;
        case 
2$im imagecreatefromjpeg($img);  break;
        case 
3$im imagecreatefrompng($img); break;
        default:  
trigger_error('Unsupported filetype!'E_USER_WARNING);  break;
    }
    
    
/*** calculate the aspect ratio ***/
    
$aspect_ratio = (float) $height_orig $width_orig;

    
/*** calulate the thumbnail width based on the height ***/
    
$thumb_height round($thumb_width $aspect_ratio);
    

    while(
$thumb_height>$max_width)
    {
        
$thumb_width-=10;
        
$thumb_height round($thumb_width $aspect_ratio);
    }
    
    
$newImg imagecreatetruecolor($thumb_width$thumb_height);
    
    
/* Check if this image is PNG or GIF, then set if Transparent*/  
    
if(($image_type == 1) OR ($image_type==3))
    {
        
imagealphablending($newImgfalse);
        
imagesavealpha($newImg,true);
        
$transparent imagecolorallocatealpha($newImg255255255127);
        
imagefilledrectangle($newImg00$thumb_width$thumb_height$transparent);
    }
    
imagecopyresampled($newImg$im0000$thumb_width$thumb_height$width_orig$height_orig);
    
    
//Generate the file, and rename it to $newfilename
    
switch ($image_type
    {
        case 
1imagegif($newImg,$newfilename); break;
        case 
2imagejpeg($newImg,$newfilename);  break;
        case 
3imagepng($newImg,$newfilename); break;
        default:  
trigger_error('Failed resize image!'E_USER_WARNING);  break;
    }
 
    return 
$newfilename;
}

//Пример вызова

resize("foto.jpg"50"foto1.jpg");

echo 
"New picture - foto1.jpg";

?>
</pre>


Ridikh 27.06.2009 14:06

Pashkela, спасибо работает ;)


Время: 22:08