- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在经历了许多令人毛骨悚然的挫折之后,我终于得到了一个 PerlMagick 模块版本,可以与我的 ActivePerl 5.10.0 build 1005 一起使用。现在我正在使用它来进行一些非常基本的颜色替换。
我已经可以使用以下代码将一种颜色(例如黑色)替换为另一种颜色(例如蓝色):
#!perl
use strict;
use warnings;
use Image::Magick;
my $image = Image::Magick->new;
$image->Read('color-test.bmp');
$image->Opaque(fill => 'blue', color => 'black');
$image->Write('result.bmp');
但我想知道是否可以用蓝色替换任何不是黑色的颜色。我希望并认为有一些惯用的语法来实现这一点,所以我要求快速帮助:) 有什么想法吗?
一如既往地感谢您的任何指导/建议/评论 :)
更新
@rjh,感谢您提供代码和信息 :) 我尝试了所有这些,并稍加调整,它们都像魅力一样工作!
旧版本无法运行。我的 PerlMagick 是 6.5.4,但稍加调整后,它也可以这样工作:
use strict;
use warnings;
use Image::Magick;
my $image = Image::Magick->new;
$image->Read('color-test.bmp');
$image->Transparent(color=>'black');
$image->Colorize(fill=>'blue');
$image->Composite(image=>$image);
$image->Write('result.bmp');
嗯,我当然喜欢你的第二个版本。太棒了这正是我所期待的语法,呵呵:)
第一个命令行版本也很好用,虽然我没想到这个版本。
再次感谢!
最佳答案
在 ImageMagick 6.3.7-10 及更高版本中,您可以使用 opaque 的“+”形式来反转颜色选择。此命令会将任何不是黑色的东西转换为蓝色:
convert in.gif -fill blue +opaque black out.gif
在 Perl 中,这可以通过以下方式完成:
$image->Opaque(fill => 'blue', color => 'black', invert => 'True');
如果您只有旧版本,仍然可以通过
convert out.gif \
\( +clone -matte -transparent black \
-fill blue -colorize 100% \) \
-composite in.gif
...我将留给您将其转换为 Perl API。
来源:http://www.imagemagick.org/Usage/color/#opaque - 一般而言,ImageMagick 操作的有用资源。
关于perl - 如何使用 PerlMagick 替换任何不是特定颜色的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2350740/
我的托管服务提供商最近升级了他们的服务器,我在使用 perl 中的 imagemagick 脚本时遇到了很多问题。我的脚本在旧服务器上运行良好,但在新服务器上运行失败,所以我回到基础来尝试找出问题所在
在命令行上使用 ImageMagick 我可以说 convert -background '#0000' -fill white -stroke black -strokewidth 3 -gravi
在经历了许多令人毛骨悚然的挫折之后,我终于得到了一个 PerlMagick 模块版本,可以与我的 ActivePerl 5.10.0 build 1005 一起使用。现在我正在使用它来进行一些非常基本
我目前正在使用 Perl Magick http://www.imagemagick.org/script/perl-magick.php ,Image Magick 的 perl 接口(interf
我已经使用 Homebrew 成功安装了 ImageMagick,但是我无法使用此处的说明正确安装 PerlMagick:http://www.imagemagick.org/script/perl-
我是一名优秀的程序员,十分优秀!