Просмотр поста

.
dexas

простенькая превью,минут наверно 5 писал.
[code]
<?php
header("content-type: image/gif");
header("Content-Disposition: attachment; filename=wallpaper.gif");
header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
#######################
function err($text='unknow error',$w=120,$h=60){
$im=imagecreatetruecolor($w,$h);
$white=imagecolorallocate($im,255,255,255);
imagefill($im,0,0,$white);
$red=imagecolorallocate($im,255,0,0);
imagestring($im,5,0,0,$text,$red);
imagepng($im);
imagedestroy($im);
}
Function imagecreateauto($file){
$arr=getimagesize($file);
$mime=$arr['mime'];
switch($mime){
default:
return false;
break;
case 'image/png':
return imagecreatefrompng($file);
break;
case 'image/jpeg':
return imagecreatefromjpeg($file);
break;
case 'image/gif':
return imagecreatefromgif($file);
break;
case 'image/wbmp':
return imagecreatefromwbmp($file);
break;
}
}


if($_GET['img']){
if(preg_match('/tiled/' ,$_GET['img']){
$im=imagecreatetruecolor($w,$h);
$fill=imagecreateauto($_GET['img']) or die (err('can not open file '.$_GET['img']));
imagesettile($im,$fill);
imagefill($im,0,0,IMG_COLOR_TILED);
imagepng($im);
imagedestroy($im);
exit();
}else{
$bufer=imagecreateauto($_GET['img']) or die (err('can\'t open file '.$_GET['img']));
$ix=imagesx($bufer);
$iy=imagesy($bufer);
$ratio=($ix>$iy) ? $ix/$w : $iy/$h;
$iw=round($ix/$ratio);
$ih=round($iy/ratio);
$im=imagecreatetruecolor($iw,$ih);
imagecopyresampled($im,$bufer,0,0,0,0,$iw,$ih,$ix,$iy);
imagedestroy
($bufer);
imagepng($im);
imagedestroy($im);
exit();
}
?>
[/code]