我有一个带有 alpha 蒙版的 PNG 图像。我想为这个图像生成一个阴影,它会使用 alpha 蒙版。
一图胜千言 http://www.brunet.fr/alpha.jpg
我想我需要:
- 从第一张图像中获取 alpha 蒙版
- 用适当的颜色填充它,然后模糊它
- 创建一个新的空白图像
- 首先用阴影和第一张图像组合它
但是我在任何地方都找不到一些提示,尤其是第一部分。
编辑:我在这里找到了答案的开头,我尝试了一下,让你知道。
谢谢
我有一个带有 alpha 蒙版的 PNG 图像。我想为这个图像生成一个阴影,它会使用 alpha 蒙版。
一图胜千言 http://www.brunet.fr/alpha.jpg
我想我需要:
但是我在任何地方都找不到一些提示,尤其是第一部分。
编辑:我在这里找到了答案的开头,我尝试了一下,让你知道。
谢谢
首先,您需要安装名为:Imagick的 php ext
<?php
/* Read the image into the object */
$im = new Imagick( 'a.png' );
$im->setImageFormat("png");
/* Make the image a little smaller, maintain aspect ratio */
$im->thumbnailImage( 200, null );
/* Clone the current object */
$shadow = $im->clone();
/* Set image background color to black
(this is the color of the shadow) */
$shadow->setImageBackgroundColor( new ImagickPixel( 'black' ) );
/* Create the shadow */
$shadow->shadowImage( 80, 3, 5, 5 );
/* Imagick::shadowImage only creates the shadow.
That is why the original image is composited over it */
$shadow->compositeImage( $im, Imagick::COMPOSITE_OVER, 0, 0 );
/* Display the image */
header( "Content-Type: image/png" );
echo $shadow;