php图片写文字方法

php图片写文字方法

内容导读

收集整理的这篇技术教程文章主要介绍了php图片写文字方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3650字,纯文字阅读大概需要6分钟

内容图文

php图片写文字也就是相当于给图片加文字水印,而一般上传图片时,水印一般为文字或图片logo水印,下面就来看看两种添加方法。

一、文字水印

文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件。

$dst_path = 'dst.jpg';//创建图片的实例$dst = imagecreatefromstring(file_get_contents($dst_path));//打上文字$font = './simsun.ttc';//字体路径$black = imagecolorallocate($dst, 0x00, 0x00, 0x00);//字体颜色imagefttext($dst, 13, 0, 20, 20, $black, $font, '快乐编程');//
输出图片list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);switch ($dst_type) { case 1://GIF header('Content-Type: image/gif'); imagegif($dst); break; case 2://JPG header('Content-Type: image/jpeg'); imagejpeg($dst); break; case 3://PNG header('Content-Type: image/png'); imagepng($dst); break; default: break;}imagedestroy($dst);

新创建一张图片,然后打印文字水印:

// imagecreatefromstring// imageCreateFromPng
Create a new image from file or URL
 创建图片对象// Create a 300x100 image,新创建一张图片$im = imagecreatetruecolor(500, 300);// set color$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);$black = imagecolorallocate($im, 0x00, 0x00, 0x00);// Make the background red// function imagefilledrectangle ($image, $x1, $y1, $x2, $y2, $color) {}imagefilledrectangle($im, 0, 0, 300, 100, $red);// Path to our ttf font file$font_file = './font/Arial.ttf';// imagefttext ($image, $size, $angle, $x, $y, $color, $fontfile, $text, $extrainfo = null )// Draw the text 'PHP Manual' using font size 13imagefttext($im, 13, 0, 150, 50, $black, $font_file, 'PHP Manual');// Output image to the browserheader('Content-Type: image/png');imagepng($im);imagedestroy($im);clipboard.png

效果图如下:

二、图片水印

图片水印就是将一张图片加在另外一张图片上,主要使用gd库的imagecopy和imagecopymerge。

$dst_path = 'myimage.jpg';$src_path = 'http://www.logodashi.com/FileUpLoad/inspiration/636003768803214440.jpg';//创建图片的实例$dst = imagecreatefromstring(file_get_contents($dst_path));$src = imagecreatefromstring(file_get_contents($src_path));//获取水印图片的宽高list($src_w, $src_h) = getimagesize($src_path);//将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果imagecopymerge($dst, $src, 10, 10, 0, 0, $src_w, $src_h, 30);//如果水印图片本身带透明色,则使用imagecopy方法// imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);//
输出图片list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);switch ($dst_type) { case 1://GIF header('Content-Type: image/gif'); imagegif($dst); break; case 2://JPG header('Content-Type: image/jpeg'); imagejpeg($dst); break; case 3://PNG header('Content-Type: image/png'); imagepng($dst); break; default: break;}imagedestroy($dst);imagedestroy($src);

效果图:

三、其他有关图像处理的函数

/* *返回图像的大小及图像类型// Get the size of an image$size = getimagesize("http://image18-c.poco.cn/mypoco/myphoto/20160901/20/17857099520160901203311082.jpg?750x956_120");print_r($size);// 打印结果Array(

[0] => 750

[1] => 956

[2] => 2

[3] => width="750" height="956"

[bits] => 8

[channels] => 3

[mime] => image/jpeg)*//** * imagecopy — 拷贝图像的一部分 */// bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )// 将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。/* * * http://php.com/manual/zh/function.imagecopymerge.php *imagecopymerge — 拷贝并合并图像的一部分 *bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct ) * * */

推荐教程:PHP教程

以上就是php图片写文字方法的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php图片写文字方法全部内容,希望文章能够帮你解决php图片写文字方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com