如果你的意思是在 PHP 中使用 GD 库,你应该检查一下图像过滤器() http://php.net/manual/en/function.imagefilter.php
步骤是:
- 从 .PNG 图像开始,内部使用白色,外部使用 alpha。
- Use
imagefilter($img, IMG_FILTER_COLORIZE, 0, 255, 0))
其中 0,255,0 是您的 RGB 颜色(本例中为亮绿色)
- 保存 alpha 并打印结果。
编辑、工作代码和澄清。
I meant, using alpha for OUTER of the black lines, and white INSIDE. Here's the sample image:
这是给白色部分着色的工作代码:
header('Content-Type: image/png');
/* RGB of your inside color */
$rgb = array(0,0,255);
/* Your file */
$file="../test.png";
/* Negative values, don't edit */
$rgb = array(255-$rgb[0],255-$rgb[1],255-$rgb[2]);
$im = imagecreatefrompng($file);
imagefilter($im, IMG_FILTER_NEGATE);
imagefilter($im, IMG_FILTER_COLORIZE, $rgb[0], $rgb[1], $rgb[2]);
imagefilter($im, IMG_FILTER_NEGATE);
imagealphablending( $im, false );
imagesavealpha( $im, true );
imagepng($im);
imagedestroy($im);
Note:我们必须否定值,因为着色仅适用于非白色部分。我们可以通过使用白色边框、内部黑色的图像来解决此问题。
Note:此代码仅适用于黑边和内白的图像。