PHP用GD图像库给图片加文字水印核心代码实例

文章作者:中山市飞娥软件工作室「Feiesoft.com」  浏览次数:2523 次  更新日期:2014-04-18

<?php

 header("Content-type: image/png");

 $string = $_GET['text'];

 // 功能:imagecreatefrompng — 由文件或 URL 创建一个新图象

 // 原型:resource imagecreatefrompng ( string $filename )

 // 成功:imagecreatefrompng() 返回图像标识符,代表了从给定的文件名取得的图像

 // 失败:返回 FALSE

 $im = imagecreatefrompng("images/button1.png");

 // imagecolorallocate — 为一幅图像分配颜色

 // int imagecolorallocate ( resource $image , int $red , int $green , int $blue )

 // imagecolorallocate() 返回一个标识符,代表了由给定的 RGB 成分组成的颜色。

 // red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。

 // imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。

 // 如果分配失败则返回 -1

 $orange = imagecolorallocate($im, 220, 210, 60);

 // imagesx — 取得图像宽度

 // int imagesx ( resource $image )

 // imagesx() 返回 image 所代表的图像的宽度

 $px = (imagesx($im) - 7.5 * strlen($string)) / 2;

 // imagesy — 取得图像高度

 // int imagesy ( resource $image )

 // imagesy() 返回 image 所代表的图像的高度

 $py = imagesy($im) / 2 - 7.5;

 // imagestring — 水平地画一行字符串

 // bool imagestring ( resource $image , int $font , int $x , int $y , string $s , int $col )

 // imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。

 // 如果 font 是 1,2,3,4 或 5,则使用内置字体。

 imagestring($im, 3, $px, $py, $string, $orange);

 // imagepng — 以 PNG 格式将图像输出到浏览器或文件

 // bool imagepng ( resource $image [, string $filename ] )

 // imagepng() 将 GD 图像流(image)以 PNG 格式输出到标准输出(通常为浏览器),或者如果用 filename 给出了文件名则将其输出到该文件。

 // 输出到浏览器,请在适当的位置加入代码 header("Content-type: image/png"); 告诉浏览器输出的内容类型。

 imagepng($im);

 // imagedestroy — 销毁一图像

 // bool imagedestroy ( resource $image )

 // imagedestroy() 释放与 image 关联的内存。image 是由图像创建函数返回的图像标识符,例如 imagecreatetruecolor()。 

 imagedestroy($im);
?>