常見問題03:php實現海報生成(包含多行文字與水印)

bluepeach發表於2021-09-09

原始碼地址:

場景

生成一張海報,海報內容可以渲染多行文字與水印。

解決方案

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

License

MIT Public License



作者:Nosee123
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2804969/,如需轉載,請註明出處,否則將追究法律責任。

相關文章