2

我正在运行下面的 DOS 批处理文件。我的操作系统是具有 3 GB 内存的 Windows 7。在 Windows 资源管理器中,我双击批处理文件,它使用标准尺寸的图像运行良好,并将图像组合成更大的图像。除了 1 MB 的较大 .jpg 图像文件之外,我所做的一切都完全相同时,代码会运行但会生成一个零字节文件。批处理文件会超时吗?你认为这是 DOS 或 ImageMagick 的限制吗?

SETLOCAL EnableDelayedExpansion
SET MONTAGE="C:\Program Files\ImageMagick\Montage"
...
%MONTAGE% *.jpg -geometry +0+0 -tile 4x1 rows56-59-cols-32261-32400combined.jpg
4

1 回答 1

4

ImageMagick 本身可以在 64 位操作系统上支持 exa 像素图像,请参阅此处的规范。不幸的是,JPEG 不能支持两边超过 64,000 像素的图像。

一种解决方案可能是使用不同的输出格式,它支持更大的图像,ImageMagick 会悄悄地为您转换为该格式。例如,PNG格式使用 4 个字节作为宽度和高度,因此它应该支持最多大约 4,000,000,000 个像素。所以你会做

montage *.jpg ... output.png

笔记:

PNG图像可能比相应的文件压缩得更好或更差,具体JPEG取决于它是计算机生成的图形类型的图像(适用于PNG)还是由相机拍摄的传统照片类型的图像(适用于JPEG)。PNG但是,如果您想要更大的图像,则无论如何您都可能会被卡住。您还可以研究一种Large TIFF格式。

于 2014-09-22T10:01:01.023 回答