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

yipeiwu_com7年前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 "水印成功";
}
*/
?>

相关文章

Linux Apache PHP Oracle 安装配置(具体操作步骤)

Oracle 就不说了,Linux 是 CentOS。1. 安装 httpd(apache)yum install httpd -y 2. 安装 php, php-gd, php-mcr...

WordPress主题制作之模板文件的引入方法

get_template_part() 用来引用模板文件,类似于 get_header()、get_sidebar() 和 get_footer(),只不过这个 get_template...

PHP获取数组最后一个值的2种方法

复制代码 代码如下: $array=array(1,2,3,4,5);    echo $array[count($array)-1];//计算数组长度,...

培养自己的php编码规范

培养自己的php编码规范

为什么我们要培养自己的编码规范? 我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处: 1、提高我们的编码效率。整齐划一的代码方便我们进行复制...

php中静态类与静态变量用法的区别分析

本文实例分析了php中静态类与静态变量用法的区别。分享给大家供大家参考。具体分析如下: static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本...