![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
刚接触php的时候一个 大哥 给了个函数,具体忘了!以下 是我后来的记忆!
[php] function thumb($srcFile,$dstFile,$dstW,$dstH){
//$srcFile:源文件名称
//$dstFile:目标文件名称
//$dstW:目标宽
//$dstH:目标高
$data=GetImageSize($srcFile,&$info);
switch($data[2]){
case 1:
$im=@ImageCreateFromGIF($srcFile);
break;
case 2:
$im=@ImageCreateFromJPEG($srcFile);
break;
case 3:
$im=@ImageCreateFromPNG($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$ni=imagecreatetruecolor($dstW,$dstH);
$black=imagecolorallocate($ni,255,255,255);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$black);
ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
$newfile = $this->upload_des.$dstFile;
if (!is_dir($this->upload_des)) {
$oldmask = umask(0);
if (!mkdir($this->upload_des, 0777)) exit("Can't build the upload_des");
umask($oldmask);
}
imagegif($ni,$newfile,100);
}
[/php]当时的心情,能够用就好了!后来感觉效果不好,改进了以下!
[php] function thumbb($srcFile,$dstFile,$dstW,$dstH){
//$srcFile:源文件名称
//$dstFile:目标文件名称
//$dstW:目标宽
//$dstH:目标高
$data=GetImageSize($srcFile,&$info);
switch($data[2]){
case 1:
$im=@ImageCreateFromGIF($srcFile);
break;
case 2:
$im=@ImageCreateFromJPEG($srcFile);
break;
case 3:
$im=@ImageCreateFromPNG($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$ni=imagecreatetruecolor($dstW,$dstH);
$black=imagecolorallocate($ni,255,255,255);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$black);
ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
$newfile = $this->upload_deb.$dstFile;
if (!is_dir($this->upload_deb)) {
$oldmask = umask(0);
if (!mkdir($this->upload_deb, 0777)) exit("Can't build $upload_deb");
umask($oldmask);
}
switch($data[2]){
case 1:
imagegif($ni,$newfile,100);
break;
case 2:
imagejpeg($ni,$newfile,100);
break;
case 3:
imagepng($ni,$newfile,100);
break;
}
}
[/php]
效果有些改善,请大家看看!现在的如何,多谢指点!
我的想法,把自己的东西拿出来,无论好坏!多希望听到批评的语句,为了能够进步!

