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


Posted in PHP onDecember 11, 2009

一 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 相关文章推荐
用Zend Encode编写开发PHP程序
Oct 09 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
php 静态变量的初始化
Nov 15 PHP
linux iconv方法的使用
Oct 01 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
PHP如何实现跨域
May 30 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
一个比较简单的PHP 分页分组类
Dec 10 #PHP
PHP 采集程序中常用的函数
Dec 09 #PHP
Php 构造函数construct的前下划线是双的_
Dec 08 #PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 #PHP
PHP 用数组降低程序的时间复杂度
Dec 04 #PHP
PHP 柱状图实现代码
Dec 04 #PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 #PHP
You might like
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php操作mongoDB实例分析
2014/12/29 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
javascript中常用编程知识
2013/04/08 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
Python中str.join()简单用法示例
2018/03/20 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
简单了解python列表和元组的区别
2020/05/14 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
.NET remoting中对象激活的两种方式
2015/06/08 面试题
中科方德软件测试面试题
2016/04/21 面试题
导游个人求职信
2014/04/25 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
研讨会致辞
2015/07/31 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang