PHP5文字图片混合水印与缩略图的原理
浏览:2836次 出处信息
1、介绍PHP水印原理和流程
原始图片--》上传到dir --》 载入到内存 -》 PHP初始化 -》 水印处理
2、ImageCreateFrom* 图片载入函数
ImageCreateFrom* 载入内存是一个将图片文件载入内存供PHP使用的过程
imagecreatefromgif
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromwbmp
imagecreatefromstring : 通过一串图片编码
使用格式:
imagecreatefromgif('php100.gif');
3、imagecopy 图片合并函数
imagecopy ( Dimg, Simg, int x, int y, int src_x, int src_y, int src_w, int src_h )
Dimg:被加水印的图片
simg:水印图片
x,y:显示在图片的位置(水印图片在图片的显示位置)
src_x,src_y:水印图片从哪里开始显示
src_w,src_h:水印图片的宽度和高度
4、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,dst_y:从什么地方开始对齐
src_x,src_y:从哪里开始剪切
int dst_w, int dst_h:新图的大小
int src_w, int src_h:原始图的大小
在使用剪切图之前我们需要先建立一个真彩图,也就是方便内存来存储
1.2.
3. $image="winter.jpg";
4.
5. //取得图片的大小
6. $img=GetImageSize($image);
7.
8. //$img[2] 中存储的是图片的格式
9. swith($img[2]){
10. case 1:
11. $im=@ImageCreateFormGIF($image);
12. break;
13.
14. case 2:
15. $im=@ImageCreateFormJPEG($image);
16. break;
17.
18. case 3:
19. $im=@ImageCreateFormPNG($image);
20. break;
21. }
22.
23. //文字水印
24. $tc=imagecolorallocate($im,255,255,255);//颜色
25. $str=iconv("gbk","utf-8","新年");//输出内容
26. imagettftext($im,12,0,20,20,$tc,'simhe1.ttf',$str);//写入图片
27.
28.
29.
30.
31.
32. //图片水印
33. $log="1.jpg";
34. $l=GetImageSize($log);
35.
36. swith($l2]){
37.
38. case 1:
39. $in=@ImageCreateFormGIF($log);
40. break;
41.
42. case 2:
43. $in=@ImageCreateFormJPEG($log);
44. break;
45.
46. case 3:
47. $in=@ImageCreateFormPNG($log);
48. break;
49.
50. }
51.
52. //图片合并
53. imagecopy($im,$in,400,50,0,0,"120","345");
54.
55. //输出图片
56. imageJpeg($im,"新图");
57.
58.//剪切
59.
60.//首先建议一个空的真彩图
61. $new=ImageCreateTrueColor(500,500);
62.
63. //ImageCopyResized图片剪切函数
64. 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 )
65.
66.
67.?>
3. $image="winter.jpg";
4.
5. //取得图片的大小
6. $img=GetImageSize($image);
7.
8. //$img[2] 中存储的是图片的格式
9. swith($img[2]){
10. case 1:
11. $im=@ImageCreateFormGIF($image);
12. break;
13.
14. case 2:
15. $im=@ImageCreateFormJPEG($image);
16. break;
17.
18. case 3:
19. $im=@ImageCreateFormPNG($image);
20. break;
21. }
22.
23. //文字水印
24. $tc=imagecolorallocate($im,255,255,255);//颜色
25. $str=iconv("gbk","utf-8","新年");//输出内容
26. imagettftext($im,12,0,20,20,$tc,'simhe1.ttf',$str);//写入图片
27.
28.
29.
30.
31.
32. //图片水印
33. $log="1.jpg";
34. $l=GetImageSize($log);
35.
36. swith($l2]){
37.
38. case 1:
39. $in=@ImageCreateFormGIF($log);
40. break;
41.
42. case 2:
43. $in=@ImageCreateFormJPEG($log);
44. break;
45.
46. case 3:
47. $in=@ImageCreateFormPNG($log);
48. break;
49.
50. }
51.
52. //图片合并
53. imagecopy($im,$in,400,50,0,0,"120","345");
54.
55. //输出图片
56. imageJpeg($im,"新图");
57.
58.//剪切
59.
60.//首先建议一个空的真彩图
61. $new=ImageCreateTrueColor(500,500);
62.
63. //ImageCopyResized图片剪切函数
64. 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 )
65.
66.
67.?>
建议继续学习:
- 图片动态局部毛玻璃模糊效果的实现 (阅读:13577)
- 淘宝图片存储架构 (阅读:9810)
- 解决IE6从Nginx服务器下载图片不Cache的Bug (阅读:7081)
- When we`re only No.2, we try harder之聊天表情设计小探讨 (阅读:6500)
- 精于图片处理的10款jQuery插件 (阅读:6204)
- phpThumb:强大的缩微图类 (阅读:5454)
- js实现预加载图片让图片快速显示 (阅读:4933)
- 利用开源的Gearman框架构建分布式图片处理平台[原创] (阅读:4247)
- 使用数据库存放图片 (阅读:4179)
- 通过php+imagick 创建PDF图片预览 (阅读:3774)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:自动检测字符编码函数mb_detect_encoding
后一篇:PHP抓屏函数实现屏幕快照 >>
文章信息
- 作者:ArthurXF 来源: BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog
- 标签: 图片 水印 缩略图
- 发布时间:2010-12-05 22:26:53
建议继续学习
近3天十大热文
- [65] Oracle MTS模式下 进程地址与会话信
- [65] Go Reflect 性能
- [64] 如何拿下简短的域名
- [59] android 开发入门
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [58] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [46] 读书笔记-壹百度:百度十年千倍的29条法则