jtahstu的博客

root@jtahstu.com   Github   英文博客  

最新碎语:以后没事写写小的知识点吧

您的位置:jtahstu的博客 >笔记> PHP图片加水印

PHP图片加水印

当然这种水印是简单的水印,就是在图片的某个地方添加一个字符串。

<?php
	/**
		向不同格式的图片中间画一个字符串(也是文字水印)
		@param	string	$filename	图片的名称字符串,如果不是当前目录下的图片,请指明路径
		@param	string	$string		水印文字字符串,如果使用中文请使用utf-8字符串
	*/
    function image($filename, $string) {
        /* 获取图片的属性, 第一个宽度, 第二个高度, 类型1=>gif, 2=>jpeg, 3=>png  */
        list($width, $height, $type) = getimagesize($filename);
	/* 可以处理的图片类型 */
        $types = array(1=>"gif", 2=>"jpeg", 3=>"png");
	/* 通过图片类型去组合,可以创建对应图片格式的,创建图片资源的GD库函数 */
        $createfrom = "imagecreatefrom".$types[$type];
        /* 通过“变量函数”去打对应的函数去创建图片的资源 */
        $image = $createfrom($filename);
	/* 设置居中字体的X轴作标位置 */
	$x = ($width - imagefontwidth(5)*strlen($string)) / 2;
	/* 设置居中字体的Y轴作标位置 */
	$y = ($height -imagefontheight(5)) / 2;
	/* 设置字体的颜色 */
	$textcolor = imagecolorallocate($image, 255, 102, 0);
	/* 向图片上画一个指定的字符串 */
	imagestring($image, 4, $x, $y, $string, $textcolor);
        /* 通过图片类型去组合保存对应格式的图片函数 */
        $output = "image".$types[$type];
	/* 通过变量函数去保存对应格式的图片 */
        $output($image, $filename);
        /* 销毁图像资源 */
        imagedestroy($image);
    }
	
      //  image("1.gif", "by jtahstu at 2016-1-10");      
	image("0.jpg", "by jtahstu at 2016-1-10  3.0");     
      //  image("2.png", "1373758426@qq.com");      
	
  ?>

之前和之后,其他两种都类似的,php会缩小图片的大小,所以看上去有点模糊,

Image

--《细说PHP》第16章第三节 P391 by jtahstu

---

本文章采用 知识共享署名2.5中国大陆许可协议 进行许可,欢迎转载,演绎或用于商业目的。

---

二维码加载中...

扫一扫移动端访问O(∩_∩)O

发表评论

23 + 35 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交
正在加载中……