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,你在正确的轨道上,我的底层图像被保存在错误的颜色模式。 –