美文网首页码农的世界PHP很简单PHP经验分享
常见问题03:php实现海报生成(包含多行文本与水印)

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

作者: 四月不见 | 来源:发表于2018-06-26 15:18 被阅读6次

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

    场景

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

    解决方案

    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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/gwcmyftx.html