前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GD库应用之–水印和缩略图

GD库应用之–水印和缩略图

作者头像
苦咖啡
发布2018-05-07 17:18:00
7390
发布2018-05-07 17:18:00
举报
文章被收录于专栏:我的博客我的博客

以前知道水印和缩略图不知道他们的原理以及详细的过程,现在终于明白了。代码解释比较详细。附代码:

代码语言:javascript
复制
<?php
 //imagecopy(resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h );
 //将 src_im 图像中坐标从 src_x,src_y 开始,
 //宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像
 //中坐标为 dst_x 和 dst_y 的位置上。
 $image=’123.jpg’;//原图片地址
 $img=getimagesize($image);//获取图片信息,返回一个数组
 switch($img[2]){
  case 1:
  $im=@imagecreatefromgif($image);
  break;
  case 2:
  $im=@imagecreatefromjpeg($image);
  break;
  $im=@imagecreatefrompng($image);
  break;
  }
 //载入logo
 $logo=’logo.jpg’;
 $lo=getimagesize($logo);
 switch($lo[2]){
  case 1:
  $in=@imagecreatefromgif($logo);
  break;
  case 2:
  $in=@imagecreatefromjpeg($logo);
  break;
  $in=@imagecreatefrompng($logo);
  break;
  }
 //$te=imagecolorallocate($im,0,0,0);
 //imagettftext($im,12,0,20,20,$te,’simhei.ttf’,’Logo 文字’);
 imagecopy($im,$in,40,40,0,0,’374′,’97’);
 if(imagejpeg($im,’110.jpg’))//创建一个新图,可以把原来的图片覆盖掉
 {
  echo ‘成功’;
 }
 ?>

上面是水印的合成,下面讲介绍如果生成缩略图。其实缩略图就是建立一个画布,然后把原来的图作为一个资源画在新的图上。附代码解释(接上面代码)

代码语言:javascript
复制
<?php
$sm_new=imagecreatetruecolor(40,30);
 imagecopyresized($sm_new,$im,0,0,0,0,40,30,$img[0],$img[1]);
 //第一个是新画布,第二个是资源,第三、四是画布开始位置,第五、六是原图开始缩略位置,第七八是画布大小
 //后面是原图大小
 imagejpeg($sm_new);//建立新图
?>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012年5月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档