如果您使用預設的非正規化 getColor 值,則 Alpha 值將始終為 0 或 1。
如果您想在 24 位元透明圖像上使用真正的全範圍 0-1 Alpha 通道,請使用正規化值的 Alpha 值,即使您使用其餘的非正規化資料。
要複製具有真實 Alpha 透明度的 24 位元 png,您必須執行以下操作
<?php
$im= new Imagick( 'image.png' );
$iterator= $im->getPixelIterator();
foreach ($iterator as $row=>$pixels) {
foreach ( $pixels as $column => $pixel ){
$un_color= $pixel->getColor(); $nor_color= $pixel->getColor(true); $pixel->setColor('rgba('.$un_color['r'].','.$un_color['g'].','.$un_color['b'].','.$nor_color['a'].')');
}
}
?>
如果您使用未正規化顏色的「a」(alpha)值,則只會有二進位透明度。