gpt4 book ai didi

c++ - 在 ImageMagick 中创建具有字符特定颜色的文本标签

转载 作者:行者123 更新时间:2023-11-30 03:58:30 25 4
gpt4 key购买 nike

我正在对一些 ASCII 艺术进行批处理,目前有一个生成艺术的 C++ 应用程序。然后,我通过以下命令通过 ImageMagick 运行文本文件:

convert -font Courier \"label:@input.txt\" output.png

最后,我通过以下命令将 .PNG 文件组合成一个动画 GIF:

convert *.png -set delay 100 MOVIE.GIF

我想做的是让 .PNG 中的所有 # 字符为绿色,所有 * 字符为红色等第一步生成的标签文件。我该怎么做?

此外,是否可以将第 n 个字符设置为特定颜色而不是使用上述模式?一个例子是在文本段落中绘制 HSV 光谱或任意颜色模式。

谢谢。

最佳答案

是你的 friend 。我会解析文件以提取每个颜色 channel ,并调整 -fill旗帜

cat > input.txt <<EOF
#############
# * * * * * #
#* * * * * *#
#############
this is black
EOF
cat input.txt | sed 's/[\#\*]/ /g' > input.black.txt
cat input.txt | sed 's/[^\#]/ /g' > input.green.txt
cat input.txt | sed 's/[^\*]/ /g' > input.red.txt
convert -background transparent -font Courier \
-fill black label:@input.black.txt \
-fill green label:@input.green.txt \
-fill red label:@input.red.txt \
-flatten output.png

Character-specific colors in ImageMagick

我确信上面的示例可以简化为单行代码。并查看 this answer对于 sed 在第 n 个字符处替换。

关于c++ - 在 ImageMagick 中创建具有字符特定颜色的文本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27386262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com