2014-09-21 102 views
1

我正在运行下面的DOS批处理文件。我的操作系统是带有3 GB RAM的Windows 7。在Windows资源管理器中,我双击批处理文件,并使用标准大小的图像运行良好,并将图像组合成更大的图像。当我做的一切完全一样,除了较大的.jpg图像文件是1 MB,代码运行但产生一个零字节文件。批处理文件可能会超时?你认为这是DOS还是ImageMagick的限制?是否存在运行时间限制?

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

批处理文件没有时间限制,但如果您想知道发生了什么,为什么不手动运行该命令?那么你会看到任何错误输出。 – ths 2014-09-21 16:19:24

+0

优秀!谢谢!我收到错误消息:“支持的最大图像尺寸为65500像素” 有没有其他方法将这些大图像拼接在一起? – user1218122 2014-09-21 16:30:31

+0

由于[JPEG/JFIF](http://en.wikipedia.org/wiki/JPEG)格式不支持放大图像,因此您不会找到任何工具来创建超过65535x65535像素的JPG图像。 – Mofi 2014-09-22 09:03:19

回答

2

ImageMagick的本身可以在64位操作系统支持EXA-像素图像,请参阅本说明书here。不幸的是,JPEG无法支持任何一边大约64,000像素的图像。

一个解决方案可能是使用支持更大图像的不同输出格式,而ImageMagick将会为您静静地转换为该格式。例如,PNG格式的宽度和高度使用4个字节,所以它应该在任一侧支持高达约4000000000像素。所以,你会做

montage *.jpg ... output.png 

注:

一个PNG图像可以压缩比相应的JPEG文件取决于它是否是图像的计算机生成的图形型好还是坏(好PNG)或照相机拍摄的传统照片类型的图像(适用于JPEG)。但是,你想要更大的图像,无论如何你可能会陷入PNG。还有一个可以调查的Large TIFF格式。

+0

经过更多的研究,我意识到我需要走不同的路线。我需要使用地图绘制软件来提供这些图块,保持图块分离并将它们与地图服务器软件进行托管。谢谢大家的出色建议,我非常感谢。 – user1218122 2014-09-22 13:08:29

相关问题