继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

常见问题03:php实现海报生成(包含多行文本与水印)

POPMUISE
关注TA
已关注
手记 273
粉丝 80
获赞 423

源码地址:实现海报生成(包含多行文本与水印)

场景

生成一张海报,海报内容可以渲染多行文本与水印。

解决方案

1) imagecreatefrompng — 由文件或 URL 创建一个新图象

resource imagecreatefrompng ( string $filename )

相关函数有:imagecreatefromjpeg()imagecreatefromgif()

2) imagecreatetruecolor — 新建一个真彩色图像

resource imagecreatetruecolor ( int $width , int $height )

相关函数有:

imagecreate() - 新建一个基于调色板的图像

imagedestroy() - 销毁一图像

3) imagettftext — 用 TrueType 字体向图像写入文本

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

4) 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 )

相关函数有:

imagecopymerge() — 拷贝并合并图像的一部分

5) imagecopyresampled — 重采样拷贝部分图像并调整大小

bool imagecopyresampled ( 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 )

imagecopyresampled()将一幅图像中的一块矩形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍然保持了极大的清晰度。如果源和目标的宽度和高度不同,则会进行相应的图像收缩和拉伸。

相关函数有:

imagecopyresized — 拷贝部分图像并调整大小

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

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

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

相关函数有:

imagejpeg() — 输出图象到浏览器或文件。

imagegif() — 输出图象到浏览器或文件。

案例

查看 poster.php

运行结果

Author

nosee123

License

MIT Public License



作者:Nosee123
链接:https://www.jianshu.com/p/7ed9d544e31f

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP