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

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

相关文章

php中目录操作opendir()、readdir()及scandir()用法示例

本文实例讲述了php中目录操作opendir()、readdir()及scandir()用法。分享给大家供大家参考,具体如下: opendir(path,context)若成功,则该函数...

PHP pthread拓展使用和注意点

一. 线程的创建和使用1. Thread类基本的创建和使用:<?php //通过继承Thread类来实现自己的线程类MyThread class MyThrea...

php的memcached客户端memcached

memcache的官方主页:http://pecl.php.net/package/memcachememcached的官方主页:http://pecl.php.net/package/...

PHP 解决session死锁的方法

今天在开发碰到个棘手的问题 。当异步请求后台处理一个大数据量操作时  请求其他控制器都没返回信息了。。起初以为是Ext 框架设置了ajax同步造成的。后来发现时session...

php stripslashes和addslashes的区别

我们在向mysql写入数据时,比如: 复制代码 代码如下:mysql_query("update table set `title`='kuhanzhu's blog'");那就会出错。...