...
<?php
/*
*предпросмотр изображений
*автор: nc_soft
*15.09.07
*/
//путь к файлу картинки (jpg,gif,png)
$img = 'example.jpg' ;
$info = getimagesize( $img );
//оригинальная ширина
$w_or = $info [ 0 ];
//оригинальная высота
$h_or = $info [ 1 ];
//тип
$type = $info [ 'mime' ];
//создаем изображение
$im1 = '' ;
if ( $type == 'image/jpeg' )
$im1 = ImageCreateFromJpeg ( $img );
if ( $type == 'image/gif' )
$im1 = ImageCreateFromGif ( $img );
if ( $type == 'image/png' )
$im1 = ImageCreateFromPng ( $img );
if (! $im1 )
die ( 'ошибка' );
//далее условимся, что максимальный размер одной из сторон превьюшки равен 80 пикселей
//высчитаем коэффицент масштаба
if ( $w_or > $h_or )
{
$k = $w_or / 80 ;
}
else
{
$k = $h_or / 80 ;
}
//высчитаем размеры превьюшки
$w = round ( $w_or / $k );
$h = round ( $h_or / $k );
//$im2=ImageCreate($w,$h); (если хотите ПЛОХОЕ качество картинки испоьзуйте эту функцию ;) )
$im2 = imagecreatetruecolor ( $w , $h );
//ImageCopyResized($im2,$im1,0,0,0,0,$w,$h,$w_or,$h_or); (если хотите ПЛОХОЕ качество картинки испоьзуйте эту функцию ;) )
imagecopyresampled( $im2 , $im1 , 0 , 0 , 0 , 0 , $w , $h , $w_or , $h_or );
if ( $type == 'image/jpeg' )
{
header( 'Content-type:image/jpeg' );
ImageJpeg ( $im2 );
}
elseif ( $type == 'image/gif' )
{
header( 'Content-type:image/gif' );
ImageGif ( $im2 );
}
elseif ( $type == 'image/png' )
{
header( 'Content-type:image/png' );
ImagePng ( $im2 );
}
else die( 'ошибка' );
?>