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

2018-09-07 21:39

阅读:245

  一 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 水印成功;
}
*/
?>


评论


亲,登录后才可以留言!