一、基本概念
imagecopymerge函數是PHP GD庫中用於將一個圖像合併到另一個圖像中的函數。使用此函數,可以將多張圖片合併到一起,從而生成出精美的效果。
imagecopymerge函數使用中要注意的是,需要將需要合併的圖像轉換為GD庫所支持的圖片格式,即gif、png、jpg格式,並且需要先指定要繪製的目標圖像並指定其大小,再將源圖像拷貝至目標圖像中。
二、使用方法
1、基礎用法
imagecopymerge函數最基礎的用法是,將一個圖片拷貝到另一個圖片的指定位置,並指定透明度。下面是示例代碼:
$dst_img = imagecreatefromjpeg("bg.jpg"); //目標圖像 $src_img = imagecreatefrompng("avatar.png"); //源圖像 list($src_w, $src_h) = getimagesize($src_img);//獲取源圖像尺寸 imagecopymerge($dst_img, $src_img, 100, 100, 0, 0, $src_w, $src_h, 70); //將源圖像拷貝到目標圖像x=100,y=100的位置,並指定透明度為70% imagejpeg($dst_img); //輸出目標圖像
2、實現圖片水印
imagecopymerge函數還可以實現圖片水印的效果,即在目標圖片的指定位置添加一張水印圖片。下面是示例代碼:
$dst_img = imagecreatefromjpeg("bg.jpg"); //目標圖像 $src_img = imagecreatefrompng("watermark.png"); //水印圖像 list($src_w, $src_h) = getimagesize($src_img);//獲取水印圖像尺寸 imagecopymerge($dst_img, $src_img, imagesx($dst_img) - $src_w - 10, imagesy($dst_img) - $src_h - 10, 0, 0, $src_w, $src_h, 70); //將水印圖像拷貝到目標圖像右下角,並指定透明度為70% imagejpeg($dst_img); //輸出目標圖像
3、實現圖片合併
除了實現圖片水印的效果,imagecopymerge函數還可以實現多張圖片合併的效果。下面是示例代碼:
$dst_img = imagecreatetruecolor(300,300);//目標圖像 $src_img1 = imagecreatefromjpeg("img1.jpg");//源圖像1 $src_img2 = imagecreatefromjpeg("img2.jpg");//源圖像2 imagecopymerge($dst_img, $src_img1, 0, 0, 0, 0, 150, 150, 100);//將源圖像1拷貝到目標圖像左上角,並指定透明度為100% imagecopymerge($dst_img, $src_img2, 150, 150, 0, 0, 150, 150, 100);//將源圖像2拷貝到目標圖像右下角,並指定透明度為100% imagejpeg($dst_img); //輸出目標圖像
三、注意事項
1.使用imagecopymerge函數時,需確保PHP的GD庫已啟用;
2.源圖片和目標圖片必須是GD庫所支持的圖片格式,即gif、png、jpg格式;
3.在合併圖片時,需先將源圖像拷貝到目標圖像指定的位置,再輸出目標圖像;
4.透明度0代表完全透明,100代表不透明。
原創文章,作者:ZVOT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150003.html