imagecreatefrompng()
函數用于從 PNG 圖像文件中創建圖像資源
要處理 PNG 圖像的顏色深度,您可以在創建圖像資源后使用 imagesavealpha()
和 imagealphablending()
函數。imagesavealpha()
函數用于保留圖像的透明度信息,而 imagealphablending()
函數用于設置圖像的透明度混合模式。
以下是一個示例,演示了如何使用這些函數處理 PNG 圖像的顏色深度:
<?php
// 加載 PNG 圖像
$image = imagecreatefrompng('example.png');
// 獲取圖像的寬度和高度
$width = imagesx($image);
$height = imagesy($image);
// 創建一個新的空白圖像,具有相同的寬度和高度,并設置背景顏色
$new_image = imagecreatetruecolor($width, $height);
$background_color = imagecolorallocate($new_image, 255, 255, 255);
imagefill($new_image, 0, 0, $background_color);
// 保留原始圖像的透明度信息
imagesavealpha($image, true);
// 將原始圖像繪制到新圖像上,同時設置透明度混合模式
imagealphablending($new_image, false);
imagealphablending($image, false);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, $width, $height);
// 保存新圖像
imagepng($new_image, 'output.png');
// 銷毀圖像資源
imagedestroy($new_image);
imagedestroy($image);
?>
在這個示例中,我們首先加載了一個名為 example.png
的 PNG 圖像。然后,我們創建了一個新的空白圖像,具有相同的寬度和高度,并設置了背景顏色。接下來,我們使用 imagesavealpha()
函數保留了原始圖像的透明度信息。最后,我們使用 imagealphablending()
函數設置了透明度混合模式,并將原始圖像繪制到新圖像上。最后,我們保存了新圖像并銷毀了圖像資源。