用php处理图片水印(文字水印和图片水印)
来源:互联网 发布:黑客用python做什么 编辑:程序博客网 时间:2024/04/20 00:55
今天起了个大早 跑到街上吃了早饭 马上回来干正事
见识下关于php如何处理图片水印的练习
先认识几个函数
GetImageSize();
用法如下
$image="111.jpg";
$im=GetImageSize($image);
//其中 111.jgp是在同一个文件夹下的图片文件,如果不在同一文件夹下,要加上路径
得到的$im是个关于图片信息的数组:
例如我的例子结果是:
Array( [0] => 380 [1] => 591 [2] => 2 [3] => width="380" height="591" [bits] => 8 [channels] => 3 [mime] => image/jpeg)
可以用获取的函数信息来做一些判断和修改,如图片的大小信息,图片的宽和高等
然后是一个函数组:
幻灯片 3.O{font-size:149%;}<!--.sld{left:0px !important;width:6.0in !important;height:4.5in !important;font-size:103% !important;}-->
ImageCreateFromGIF()
ImageCreateFromJPEG()
ImageCreateFromPNG()
这几个函数组的作用是把图片的信息读到php里,因为我们是在php内部处理图像,所以要先把它读进去。而具体要用哪个函数就要对图片的格式进行判断 ImageCreateFromGIF 就是对应 gif格式的图片 其他以此类推
在程序中我们可以用这样一个switch语句来判断:
switch($im[2]) // 这里对应的$im[2]里的信息是图片的格式 $im[2]=1对应gif
// $im[2]=2对应jpeg
// $im[2]=3对应 png
{
case 1:
$im=ImageCreateFromGIF($image);
break;
case 2:
$im=ImageCreateFromJPEG($image);
break;
case 3:
$im=ImageCreateFromPNG($image);
break;
}
接下是文字水印的处理了认真看
$te=imagecolorallocate($im,255,255,255); //设置字的颜色,这里设为白色
$str=iconv("gbk","UTF-8","新年快乐 www.byland.com"); //设置文字的内容和编码,很简单吧
imagettftext($im,12,0,20,20,$te,'simhei.ttf',$str);
//这句是关键,我来解释下
$im是目标图片,就是要被打上水印的图片(不过已经被读取到php里了)这里是它的变量$im,不懂的看前面
12是x坐标的起始位置
0是y坐标的起始位置
20是大小
$te是设置好的颜色
simhei.ttf这是一个字体文件 不过必须和所调用它的php文件在同一目录下 所以可以从c:/windows/fonts/simhei.ttf里把它拷过来
header("Content-type: image/jpeg");
ImageJpeg($im);
这样就可以把图片现在在测试的网页里了
在来看看如何处理图片水印!
因为我们的处理都是在php里面实现的(o(∩_∩)o...哈哈不是用ps)所以要把当作水印的小图片读取到php里面去
操作跟上面一样啦 看代码
$logo="apache.gif";
$in=GetImageSize($logo);
switch($in[2])
{
case 1:
$in=ImageCreateFromGIF($logo);
break;
case 2:
$in=ImageCreateFromJPEG($logo);
break;
case 3:
$in=ImageCreateFromPNG($image);
break;
}
其实处理的语句就一句
imagecopy($im,$in,100,500,0,0,'259','32');
$im 目标图片
$in 水印图片
100,500 打水印的位置(在目标图中)
0,0 截取水印图片的开始的位置
'259' 大小
'32' 大小
header("Content-type: image/jpeg");
ImageJpeg($im);
一下就可以把有水印的图片打出来了
注意ImageJpeg($im,'dddd.jpg');就是不显示在网页中 把处理好的图片创建在所在文件夹下
这里还给大家介绍个小操作
$new=ImageCreateTrueColor(38,59);
ImageCopyResized($new,$im,0,0,0,0,38,59,380,591);
ImageCreateTrueColor()用于创建一个指定大小的空图片
ImageCopyResized把图片复制过去 但是可以改变大小
这样就可以创建小的图片做缩略图
我把我自己的原代码附上
今天就先到这里吧
- 用php处理图片水印(文字水印和图片水印)
- php 图片水印 文字水印
- PHP水印图片文字
- PHP给图片加文字水印和图片水印
- PHP图片添加文字水印和图片水印
- 文字和图片水印
- php对图片上传的处理以及图片加文字水印和图片水印的方法
- java图片处理(文字水印、图片水印、缩放、补白)
- php文字水印和php图片水印实现代码
- php文字水印和php图片水印实现代码
- php 之 图片水印 (支持批量图片处理)(支持添加图片水印,文字水印)
- php生成 文字水印 图片水印
- java图片添加水印,包括文字水印和图片水印
- php如何给pdf加上文字水印和图片水印
- Thinkphp图片水印和文字水印
- Java添加水印+图片水印+文字水印
- PHP 图片添加水印(文字和图片)
- php生成图片文字水印
- 硬件设计和驱动调试中一些常用的协议下载地址
- 集中注意力,排除干扰
- C 函数:该函数给出一个字节中被置 1 的位的个数
- C#日期时间格式化
- HTML Parser 对 IFrame 的处理
- 用php处理图片水印(文字水印和图片水印)
- Ext2.0 form使用实例(很详细的讲解,强烈推荐)
- MySQL触发器的使用
- java.net.SocketException: socket write error: Connection aborted by peer
- fgrdf
- cakephp学习:大部分动作使用Auth组件来控制权限,但少部分不用,如何实现?
- VC 从网页上下载图片
- select 后面的text显示select中的内容
- Java的垃圾回收(Garbage Collection)机制