我在java程序中处理图像时遇到一些问题。对于处理,我在Windows Vista下使用ImageMagick版本6.7.2-Q16。
我能够将问题隔离到convert.exe,它在处理特定图像时偶尔会崩溃。执行这个批处理,我能够重现错误:
:start
del C:\Users\Marco\Desktop\picture.jpg
C:\Users\Marco\workspace\AFELO\convert.exe C:\Users\Marco\Desktop\Biller\test1.jpg C:\Users\Marco\Desktop\picture.jpg
if exist "C:\Users\Marco\Desktop\picture.jpg" goto start
(注意:在看到错误之前可能需要几秒钟。就像我说的那样,它只会偶尔发生)
错误对话框here
我使用的图片是test1.jpg:
错误日志:
Signature du problème:
Nom d’événement de problème: APPCRASH
Nom de l’application: convert.exe
Version de l’application: 4.0.1.0
Horodatage de l'application: 4e66b7a2
Nom du module par défaut: CORE_RL_magick_.dll
Version du module par défaut: 4.0.1.0
Horodateur du module par défaut: 4e66b732
Code de l’exception: c0000005
Décalage de l’exception: 00105d1e
Version du système: 6.0.6000.2.0.0.768.3
Identificateur de paramètres régionaux: 1036
Information supplémentaire n° 1: bc9d
Information supplémentaire n° 2: 8b65f71b7628f3d47048baa721edae1d
Information supplémentaire n° 3: ee0c
Information supplémentaire n° 4: 1d853e407026dac42c650ea56d7c2897
这是我能够调试的最远的。我使用-debug all
标志希望我能解决问题,但是imagemagick然后拒绝显示任何错误。
答案 0 :(得分:1)
您报告的问题是ImageMagick-6.7.2-4版本中修复的暂时性错误。下载http://www.imagemagick.org/download/binaries/ImageMagick-6.7.2-4-Q16-windows-dll.exe,如果您遇到任何其他问题,请告诉我们。
答案 1 :(得分:1)
即使我今天也在努力为ImageMagick运行这个转换命令。但最终它完成了。我这样跑:
Process pr = rt.exec("c:\\ImageMagick-6.7.7-9-Q16-windows\\ImageMagick-6.7.7-9\\convert.exe abc.png output123.jpg");
所以它没有正确执行。 然后我意识到我必须给出图像的完整路径而不是我们在命令行中执行的方式,因为在命令行中,执行图像是相对于路径的。 因此,也提供图像的完整路径。
Process pr = rt.exec("c:\\ImageMagick-6.7.7-9-Q16-windows\\ImageMagick-6.7.7-9\\convert.exe c:\\ImageMagick-6.7.7-9-Q16-windows\\ImageMagick-6.7.7-9\\images\\ankur.png c:\\ImageMagick-6.7.7-9-Q16-windows\\ImageMagick-6.7.7-9\\testing\\output123.jpg");