0
我使用PHPImageWorkshop library來疊加透明圖像(這是它應該擅長的事情之一,所以我必須做錯了)!PHPImageWorkshop library:分層透明PNG圖像
當我剛剛指定基層(透明的PNG標誌),一切正常,看代碼:
<?php
use PHPImageWorkshop\ImageWorkshop;
require_once('lib/PHPImageWorkshop/ImageWorkshop.php');
$base_layer = ImageWorkshop::initFromPath(__DIR__.'/img/bg.png');
$dirPath = dirname(__FILE__).'/output/';
$filename = "file.png";
$base_layer->save($dirPath, $filename, false, null, 95);
?>
<img src="/output/file.png">
...結果是一個透明的PNG與我指定的背景圖像,如預計,(除了複製圖像,我沒有在這裏做任何事情)。
當我嘗試在背景圖層上添加一個較小的圖像而不是覆蓋它時,會出現問題,它會覆蓋我的背景圖像並將其完全替換掉?
在這裏,我嘗試創建一個灰色小方塊,(100×100),並把它放在我的背景圖案的中間,(使用我現有的代碼):
<?php
use PHPImageWorkshop\ImageWorkshop;
require_once('lib/PHPImageWorkshop/ImageWorkshop.php');
$base_layer = ImageWorkshop::initFromPath(__DIR__.'/img/bg.png');
// ADDED 2 LINES--------------------------------------------------
$layer_two = ImageWorkshop::initVirginLayer(100, 100, 'CCCCCC');
$base_layer->addLayerOnTop($layer_two, 0, 100, 'MT');
$dirPath = dirname(__FILE__).'/output/';
$filename = "file.png";
$base_layer->save($dirPath, $filename, false, null, 95);
?>
<img src="/output/file.png">
現在我的背景圖案不再可見,並且在透明圖層上有一個小的灰色正方形,這是我的背景圖像的大小。
我在做什麼錯?
感謝您看...
是否可以得到您的圖片? – Sybio
謝謝@Sybio,你在正確的軌道上,我的底層圖像被保存在錯誤的顏色模式。 –