由于算法专利原因,gd1.6以后不再支持gif,但支持jpg,png,wbmp,如果可能的话用jpg代替,或则用gd1.6以前版本
解决方案 »
- html的网页能用的javascript,为什么在php中不能用了?谁能帮我解决这个问题...
- 采集中遇到一个问题,关于跳转的
- 如何用异步方式执行函数?
- 还是乱码问题
- DW 中 把全页面的带下划线的链接中的下划线不显示的 css样式表项 怎么设计????
- PHP调试求助
- 我想用別的主機發信php.ini怎麼配呀!在線等。。。
- 很好拿的分,只是我不会(如何新建一个文件),在线等。。。。。
- php 4.21和4.12是不是有很大区别?在函数上是否有不同?
- windows下怎么用ODBC把MYSQL连接起来?
- 在PHP中,如何判断文件类型,如(*.zip、*.gif)。急!!!
- 谁有好用的UBB代码??
<?php
function extname($filename) {
return strtolower(substr(strrchr($filename,"."),1));
}function load_image($image) {
switch(extname($image)) {
case "png":
$im = ImageCreateFromPNG($image);
break;
case "jpg":
case "jpeg":
$im = @ImageCreateFromJPEG($image); // 载入原图
break;
case "gif":
$im = ImageCreateFromGIF($image); // 载入原图
break;
}
return $im;
}function create_image($width,$height,$red=255,$green=255,$blue=255) {
if(function_exists("imagecreatetruecolor"))
$im = imagecreatetruecolor($width,$height); // 创建目标图
else
$im = imagecreate($width,$height); // 创建目标图 $back = ImageColorAllocate($im,$red,$green,$blue); // 填充的背景色
imagefill($im,0,0,$back);
return $im;
}function set_transparent($im,$index) {
imagecolortransparent($im,$index);
}$image = "csdn.gif"; // 原图
$thumbw = 200; // 期望的目标图宽
$thumbh = 80; // 期望的目标图高$size = getimagesize($image); // 获取原图大小
$thumbw = $size[0]*2;
$thumbh = $size[1]*2;
$scale = min($thumbw/$size[0], $thumbh/$size[1]); // 计算缩放比例
$width = (int)($size[0]*$scale);
$height = (int)($size[1]*$scale);
$deltaw = (int)(($thumbw - $width)/2);
$deltah = (int)(($thumbh - $height)/2);$src_img = load_image($image);
$dst_img = create_image($thumbw, $thumbh,255,240,240);
$c = imagecolorat($src_img,$size[0]/2,$size[1]*0.8);
set_transparent($src_img,imagecolorat($src_img,$size[0]/2,$size[1]*0.8));if(function_exists("ImageCopyResampled"))
ImageCopyResampled($dst_img, $src_img, $deltaw, $deltah, 0, 0, $width, $height, ImageSX($src_img),ImageSY($src_img)); // 复制图片
else
ImageCopyResized($dst_img, $src_img, $deltaw, $deltah, 0, 0, $width, $height, ImageSX($src_img),ImageSY($src_img)); // 复制图片imagejpeg($dst_img); // 创建图片
ImageDestroy($src_img);
ImageDestroy($dst_img);
?>