图片缩略图
<?php
/*
* 图片缩略图
* $srcfile 源图片,$rate 缩放比,默认为缩小一半
* 例如: resizeimage("zt32.gif",".1");
*/
function resizeimage($srcfile,$rate=.5){
$size=getimagesize($srcfile);
switch($size[2]){
case 1:
$img=imagecreatefromgif($srcfile);
break;
case 2:
$img=imagecreatefromjpeg($srcfile);
break;
case 3:
$img=imagecreatefrompng($srcfile);
break;
}
//源图片的宽度和高度
$srcw=imagesx($img);
$srch=imagesy($img);
//目的图片的宽度和高度
$dstw=floor($srcw*$rate);
$dsth=floor($srch*$rate);
//新建一个真彩色图像
$im=imagecreatetruecolor($dstw,$dsth);
$black=imagecolorallocate($im,255,255,255);
imagefilledrectangle($im,0,0,$dstw,$dsth,$black);
imagecopyresized($im,$img,0,0,0,0,$dstw,$dsth,$srcw,$srch);
// 以 JPEG 格式将图像输出到浏览器或文件
imagejpeg($im);
//释放图片
imagedestroy($im);
imagedestroy($img);}
<?php
/*
* 图片缩略图
* $srcfile 源图片,$rate 缩放比,默认为缩小一半
* 例如: resizeimage("zt32.gif",".1");
*/
function resizeimage($srcfile,$rate=.5){
$size=getimagesize($srcfile);
switch($size[2]){
case 1:
$img=imagecreatefromgif($srcfile);
break;
case 2:
$img=imagecreatefromjpeg($srcfile);
break;
case 3:
$img=imagecreatefrompng($srcfile);
break;
}
//源图片的宽度和高度
$srcw=imagesx($img);
$srch=imagesy($img);
//目的图片的宽度和高度
$dstw=floor($srcw*$rate);
$dsth=floor($srch*$rate);
//新建一个真彩色图像
$im=imagecreatetruecolor($dstw,$dsth);
$black=imagecolorallocate($im,255,255,255);
imagefilledrectangle($im,0,0,$dstw,$dsth,$black);
imagecopyresized($im,$img,0,0,0,0,$dstw,$dsth,$srcw,$srch);
// 以 JPEG 格式将图像输出到浏览器或文件
imagejpeg($im);
//释放图片
imagedestroy($im);
imagedestroy($img);}
而如果存成bmp在转成jpg,重所周知时要损失画质的。
本来是jgp的,干嘛要存成bmp在转一次,以至于有压缩一次呢,
真的没办法码?难道用这种方式的作的网页,也算实现了一种资源的保护。