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

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

相关文章

laravel 实现设置时区的简单方法

laravel 实现设置时区的简单方法

众所周知 laravel 和 php 一样 默认的是英国的格林尼治时间 和我们相差大概8小时 laravel 框架其实 内置了设置时区的方式 打开 config 下的 app.php 找...

46 个非常有用的 PHP 代码片段

这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~ 1. 发送 SMS 在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用...

学习php设计模式 php实现策略模式(strategy)

学习php设计模式 php实现策略模式(strategy)

一、意图 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 策略模式变化的是算法 二、策略模式结构图   三、策略模式...

php获取twitter最新消息的方法

本文实例讲述了php获取twitter最新消息的方法。分享给大家供大家参考。具体实现方法如下: <?php function get_status($twitter_i...

PHP 数组遍历顺序理解

PHP 数组遍历顺序理解

比如: <?php$arr['laruence'] = 'huixinchen';$arr['yahoo']    = 2007;$arr['baidu']...