Я использую PHPImageWorkshop library для выравнивания прозрачных изображений (что является одной из вещей, которые, как предполагается, превосходят, поэтому я должен делать это неправильно)!PHPImageWorkshop библиотека: слоистые прозрачные изображения 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, вы были на правильном пути, мое изображение базового слоя было сохранено в неправильном цветовом режиме. –