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 register_globals 值为on与off的理解
Sep 26 PHP
PHP编程风格规范分享
Jan 15 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
php中mkdir函数用法实例分析
Nov 15 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
php根据日期显示所在星座的方法
Jul 13 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
PHP使用Session实现上传进度功能详解
Aug 06 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
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
网页javascript精华代码集
2007/01/24 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
React实现全选功能
2020/08/25 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
python中requests使用代理proxies方法介绍
2017/10/25 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
PyQt5每天必学之组合框
2018/04/20 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
详解numpy的argmax的具体使用
2019/05/27 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
python实现网站微信登录的示例代码
2019/09/18 Python
如何获取Python简单for循环索引
2019/11/21 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
浅析Python迭代器的高级用法
2020/07/16 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
结婚典礼证婚词
2014/01/11 职场文书
大型车展策划方案
2014/02/01 职场文书
家长会主持词
2014/03/26 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书