Я пытаюсь сделать черепицу/петлю простой pattern-image над canvas-image
. Вот соответствующий фрагмент кода.PHP-Imagick: Образ шаблона теряет непрозрачность
$image = new \Imagick();
$image->newPseudoImage(700, 400, "canvas:black");
$image->setImageFormat("png");
$texture = new \Imagick(realpath('pattern.png'));
$image = $image->textureImage($texture);
header("Content-Type: image/png");
echo $image;
pattern-image
(pattern.png) является титрование по холсту просто отлично, но почему-то кажется, что прозрачность pattern.png перепутались в этом процессе. Вот результат, который я получаю.
Вот что результат изображения, как ожидается выглядеть.
На всякий случай, вот var_dump
из $texture->getImageProperties();
array (size=8)
'date:create' => string '2015-10-18T09:59:01+05:00' (length=25)
'date:modify' => string '2015-02-08T20:53:20+05:00' (length=25)
'png:IHDR.bit-depth-orig' => string '8' (length=1)
'png:IHDR.bit_depth' => string '8' (length=1)
'png:IHDR.color-type-orig' => string '0' (length=1)
'png:IHDR.color_type' => string '0 (Grayscale)' (length=13)
'png:IHDR.interlace_method' => string '0 (Not interlaced)' (length=18)
'png:IHDR.width,height' => string '68, 34' (length=6)
СРЕДЫ:
PHP Version 5.5.12
Wampserver2.5
Apache-2.4.9-
Imagick 3.1.2
mageMagick 6.8.9-1 Q16 x64 2014-05-08
Windows 7 : 64 Bit.
НОТЫ: Хотя я понятия не имею, с чего начать искать, я начал проверять альфа-каналы. Кроме того, другие изображения работают нормально, поэтому это может также быть проблемой, связанной с изображениями. Возможно, что изображение является 8-битным? Мне нужно удалить прозрачность из pattern.png? Если да, то как мне это сделать? Дай мне свои 2 цента :)
ПРОБОВАЛИ ПОКА ЧТО НЕ РАБОТАЮТ:
$image->setImageFormat("png24");
$texture->setImageAlphaChannel(Imagick::ALPHACHANNEL_DEACTIVATE);
Может быть разница в версии, у меня есть вопрос с моей средой. Поделитесь своей средой и версиями. Imagick, imagemagic, OS и т. Д. Могут помочь найти альтернативные функции. Thnx. – gurung
Похоже, вы получили последнее из всего этого. Какие у меня варианты? – gurung
thnx для обратной связи. – gurung