imagecopy()
是 PHP 中一個非常有用的函數,用于將一個圖像的某一部分復制到另一個圖像上
以下是使用 imagecopy()
的一個示例:
<?php
// 創建兩個圖像資源
$sourceImage = imagecreatefrompng('source.png');
$destinationImage = imagecreatefrompng('destination.png');
// 獲取圖像的寬度和高度
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);
$destinationWidth = imagesx($destinationImage);
$destinationHeight = imagesy($destinationImage);
// 計算復制區域的起始點(例如:將源圖像的右上角復制到目標圖像的中心)
$srcX = $sourceWidth - $destinationWidth;
$srcY = $sourceHeight - $destinationHeight;
// 使用 imagecopy() 將源圖像的一部分復制到目標圖像上
imagecopy($destinationImage, $sourceImage, 0, 0, $srcX, $srcY, $destinationWidth, $destinationHeight);
// 輸出新的圖像資源到瀏覽器
header('Content-type: image/png');
imagepng($destinationImage);
// 釋放內存
imagedestroy($sourceImage);
imagedestroy($destinationImage);
?>
在這個示例中,我們首先使用 imagecreatefrompng()
函數創建了兩個圖像資源,分別代表源圖像和目標圖像。然后,我們獲取這兩個圖像的寬度和高度,以便在復制時進行正確的定位。
接下來,我們計算復制區域的起始點。在這個例子中,我們將源圖像的右上角復制到目標圖像的中心。然后,我們使用 imagecopy()
函數將源圖像的一部分復制到目標圖像上。這個函數的第一個參數是目標圖像資源,第二個參數是源圖像資源,第三個參數是目標圖像中復制區域的左上角坐標,第四個參數是源圖像中復制區域的左上角坐標,第五個參數和第六個參數分別是目標圖像和源圖像中復制區域的寬度和高度。
最后,我們將新的圖像資源輸出到瀏覽器,并使用 imagedestroy()
函數釋放內存。