使用 imagmagick 替换单一颜色的图像,同时保留透明度

发布于 2024-10-27 19:53:04 字数 178 浏览 1 评论 0原文

我需要在 Web 应用程序中执行一个简单的操作 - 拍摄图像,检查每个像素,然后用某种颜色替换它,同时保留透明度(如果它是透明的,则不会改变)。由于图像的大小,通过 PHP 执行此操作非常慢;是否有一个 imagemagick 命令会产生相同的结果?输入图像是由 imagemagick 通过反汇编 PSD 文件各层创建的 32 位 png。

I have a simple operation I need to do in a web application - take an image, check each pixel, and replace it with a certain color while preserving transparency (if it's transparent it doesn't change). Doing this through PHP is extremely slow due to the size of the image; is there an imagemagick command that will have the same result? The input image is a 32-bit png created by imagemagick by disassembling the layers of a PSD file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇纵 2024-11-03 19:53:04

事实证明这很简单(调整大小以最小化工作量):

convert $source {$resize} -alpha set -channel RGB -fill '#{$color}' +opaque none $output

It turned out to be simple (throwing in a resize to minimize the work):

convert $source {$resize} -alpha set -channel RGB -fill '#{$color}' +opaque none $output
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文