php下图片文字混合水印与缩略图实现代码

  一 imageCreateFrom* 图片载入函数

  //针对不同的后缀名图片

  imagecreatefromgif

  imagecreatefromjpeg

  imagecreatefrompng

  imagecreatefromwbmp

  imagecreatefromstring

  使用格式:imagecreatefromgif("jjj.gif");

  二 imagecopy 图片合并函数

  imagecopy(destimage,simage,int x,int y,int src_x,int src_y,int src_w,int src_h);

  destimage ---原始图片(大图片)

  simage ---logo图片(小图片)

  x ---原始图片的坐标

  y ---

  src_x ---logo图片的坐标

  src_y ---

  src_w ---logo图片的宽度

  src_h ---logo图片的高度

  三 imagecopyresized图片剪切函数

  imagecopyresized(resource dst_image,resource src_image,int dst_x,int dst_y,int src_x,int src_y,int dst_w,int dst_h,int src_w,int src_h);

  dst_image ---原始真彩图片

  src_image ---原始图片

  dst_x ---从什么位置起 一般为0

  dst_y ---一般为0

  src_x ---从什么地方开始剪切 一般为0

  src_y ---一般为0

  dst_w ---新建图片的宽度与高度

  dst_h ---

  src_w ---原始图片的宽度与高度

  src_h ---

  例题:

  image.php

  

复制代码 代码如下:

  <?php

  /*

  * 这个php文件实现图片的水印与生成缩略图功能

  *

  */

  //这个没写上传功能,首先把图片放到项目的根目录

  //导入与解析图片

  $image = "img.jpg";

  $img=GetImageSize($image);

  //判断图片的后缀名

  switch($img[2]){

  case 1:

  $im=ImageCreateFromGIF($image);

  break;

  case 2:

  $im=ImageCreateFromJPEG($image);

  break;

  case 3:

  $im=ImageCreateFromPNG($image);

  break;

  }

  //解析图片

  $logo = "pic.jpg";

  $pic=GetImageSize($logo);

  switch($pic[2]){

  case 1:

  $im_pic=ImageCreateFromGIF($logo);

  break;

  case 2:

  $im_pic=ImageCreateFromJPEG($logo);

  break;

  case 3:

  $im_pic=ImageCreateFromPNG($logo);

  break;

  }

  //图片合成,也是制作水印

  imagecopy($im,$im_pic,0,500,0,0,100,75);

  //设置颜色

  $fc=imagecolorallocate($im,255,255,255);

  //首先要将文字转换成utf-8格式

  //$str=iconv("gb2312","utf-8","呵呵呵");

  //加入中文水印

  imagettftext($im,12,0,20,20,$fc,"simkai.ttf","我的QQ:260954520");

  //建一个原始真彩图片

  $new_img=imagecreatetruecolor(50,40);

  //剪切图片

  imagecopyresized($new_img,$im,0,0,0,0,50,40,$img[0],$img[1]);

  //输出图片

  header("Content-type:image/jpeg");

  //剪切后的小图,可以像下面一个用判断生成小图

  imagejpeg($new_img);

  //生成一个加水印的图片

  /*

  if(imagejpeg($im,"新的图片.jpg")){

  echo "水印成功";

  }

  */

  ?>