本文实例讲述了php生成图片缩略图功能。分享给大家供大家参考,具体如下:
完整代码如下(为方便阅读,代码使用进行了格式化处理):
$srcH * $dstW) {
$fdstH = round($srcH * $dstW / $srcW);
$dstY = floor(($dstH - $fdstH) / 2);
$fdstW = $dstW;
} else {
$fdstW = round($srcW * $dstH / $srcH);
$dstX = floor(($dstW - $fdstW) / 2);
$fdstH = $dstH;
}
$ni = ImageCreateTrueColor($dstW,$dstH);
$dstX = ($dstX < 0) ? 0 : $dstX;
$dstY = ($dstX < 0) ? 0 : $dstY;
$dstX = ($dstX > ($dstW / 2)) ? floor($dstW / 2) : $dstX;
$dstY = ($dstY > ($dstH / 2)) ? floor($dstH / s) : $dstY;
$white = ImageColorAllocate($ni,255,255);
$black = ImageColorAllocate($ni,0);
imagefilledrectangle($ni,$white); // 填充背景色
ImageCopyResized($ni,$im,$dstX,$dstY,$fdstW,$fdstH,$srcW,$srcH);
if ($markwords != null) {
$markwords = iconv("gb2312","UTF-8",$markwords);
//转换文字编码
ImageTTFText($ni,20,30,450,560,$black,"simhei.ttf",$markwords); //写入文字水印
//参数依次为,文字大小|偏转度|横坐标|纵坐标|文字颜色|文字类型|文字内容
} elseif ($markimage != null) {
$wimage_data = GetImageSize($markimage);
switch ($wimage_data[2]) {
case 1:
$wimage = @ImageCreateFromGIF($markimage);
break;
case 2:
$wimage = @ImageCreateFromJPEG($markimage);
break;
case 3:
$wimage = @ImageCreateFromPNG($markimage);
break;
}
imagecopy($ni,$wimage,500,88,31); //写入图片水印,水印图片大小默认为88*31
imagedestroy($wimage);
}
ImageJpeg($ni,$rate);
ImageJpeg($ni,$srcFile,$rate);
imagedestroy($im);
imagedestroy($ni);
}
?>
PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。