我在 CLI 上使用 ImageMagick,如下所示:
gm convert input.png -crop 512x512 +repage +adjoin "tiles/tile%02d.png"
创建我的输入图像的平铺版本。但我想用 GraphicsMagick.NET 或 Magick.NET 来做,而不是使用命令行。我遇到的问题是 GM.NET 或 IM.NET 似乎都不能正确支持“+repage”和“+adjoin”。相反,两者都只生成一个输出图像。
我在 C# 中尝试了以下代码,但没有成功。
GraphicsMagick.NET 测试
MagickImage image = new MagickImage("test.png");
MagickGeometry geo = new MagickGeometry(512,512);
image.Crop(geo);
image.RePage();
image.Adjoin = true; // i tried false too!
image.Write("testout_%d.png");
ImageMagick.NET 测试
// ImageMagick.NET Test
using (MagickImage image = new MagickImage("test.png"))
{
image.Crop(512, 512,Gravity.Northwest);
image.RePage();
image.Adjoin = true;
image.Write("testout_%d.png");
}
我还尝试了 MSL 来生成我的图像的平铺版本,但 MSL 似乎也不支持这一点,MSL 中完全缺少 adjoin 和 repage 。