我试图通过使用转换为 alpha 过滤器来实现接近 Fireworks 所做的事情(请参阅http://erskinedesign.com/blog/fireworks-tips-convert-alpha/)。这可能只使用 php gd 函数吗?
我的代码如下所示:
$img = imagecreatefromstring(file_get_contents('...'));
imagealphablending($img, true);
$transparentcolour = imagecolorallocate($img, 255,255,255);
imagecolortransparent($img, $transparentcolour);
imagefilter($img, IMG_FILTER_GRAYSCALE);
$w = imagesx($img);
$h = imagesy($img);
for ($x=0; $x<$w; $x++)
{
for ($y=0; $y<$h; $y++)
{
$color = imagecolorsforindex($img, imagecolorat($img, $x, $y));
if ($color['alpha'] == 0)
continue;
}
}
imagepng($img);
exit;
我的想法是转换为灰度,测量一个像素的“暗”程度,然后将其转换为黑色 alpha,但我自己似乎很困惑。