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 相关文章推荐
利用PHP制作简单的内容采集器的原理分析
Oct 01 PHP
php面向对象全攻略 (五) 封装性
Sep 30 PHP
PHP 分页原理分析,大家可以看看
Dec 21 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
PHP pear安装配置教程
May 14 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
php微信开发之音乐回复功能
Jun 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
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
PHP文件下载类
2006/12/06 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
JS中的多态实例详解
2017/10/15 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
如何搜索查找并解决Django相关的问题
2014/06/30 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
大学生毕业求职简历的自我评价
2013/10/24 职场文书
学校门卫管理制度
2014/01/30 职场文书
服务质量承诺书
2014/03/27 职场文书
银行内勤岗位职责
2014/04/09 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
2015元旦节寄语
2014/12/08 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python