每 8 个水平像素向图像添加黄色像素线

Add yellow line of pixels to image every 8 horizontal pixels

我有一张很长的图像 (824x8),其中包含字体中的一堆字符。我想在 Love2D 中将图像用作 image font

Love2D 可以拍摄每个字符之间带有黄线(或任何其他颜色的线,真的)的字体图像,并将其转换为 Love2D 可以使用的像素完美字体。

Here's an image that sorta shows what I want to do.

是否可以使用 ImageMagick 添加这些黄线?

编辑:我正在使用 Windows 命令行。

对于简单的 8x8 覆盖网格,您可以从 Windows 命令行执行类似这样的操作...

convert input.png ( xc:none[7x7] -background yellow -splice 1x1 -roll +0+0 ) ^
   -set option:distort:viewport "%[fx:u.w]x%[fx:u.h]" -virtual-pixel tile -distort SRT 0 ^
   -compose over -composite result.png

首先读取输入图像并创建一个 8x8 透明单元格,在顶部和左侧有一行黄色。然后它使用与输入图像相同尺寸的视口设置 8x8 单元格图像,并平铺该单元格以完全填充视口。在输入图像上合成该网格以创建输出。

如果您希望单元格为 8x8 加黄线,请将单元格的初始大小更改为 "xc:none[8x8]"。

要从左上角移动网格,您可以将“-roll +0+0”调整为从 +0+0 以外的其他位置开始。

要在 BAT 脚本中使用它,请将单个百分号“%”转换为双“%%”。

如果您只需要在每 8 个像素部分之间的现有图像中插入黄线,您可以使用 Imagemagick 尝试类似的操作...

convert input.png -background yellow ^
   -crop 8x0 -splice 1x0 +append +repage -crop 0x8 -splice 0x1 -append result.png

将图像垂直裁剪成 8 像素宽的条带,在每个条带的左边缘添加一条黄色条纹,然后重新组合它们。然后它将图像水平裁剪成 8 像素高的条带,为每个条带添加一个黄色边缘,然后重新组合它们。

这增加了最终维度,因为它在输入图像的行之间添加了黄线,而不是在输入图像上叠加了网格。