ImageMagick:convert.exe 偶尔崩溃

发布于 2024-12-03 12:52:18 字数 1507 浏览 2 评论 0 原文

我在 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

注意:可能需要几秒钟才能看到错误。就像我说的,它只是偶尔发生)

错误对话框 此处

我使用的图像是 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 根本拒绝显示任何错误。

I have a few problems while processing my images in my java program. For the processing, i use ImageMagick version 6.7.2-Q16 under Windows Vista.

Problem

I was able to isolate the problem to convert.exe, which crashes sporadically while processing specific images. Executing this batch, I was able to reproduce the error:

: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

(Note: It can take a few seconds before seeing an error. Like I said, it only happens sporadically)

The error dialog here

The image i used was test1.jpg:

The error log:

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

This is the farthest I was able to debug. I used the -debug all flag in hopes that I'd catch the problem, however imagemagick then refuses to show any error at all.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凡尘雨 2024-12-10 12:52:18

您报告的问题是一个暂时性错误,已在 ImageMagick-6.7.2-4 版本中修复。下载 http://www.imagemagick。 org/download/binaries/ImageMagick-6.7.2-4-Q16-windows-dll.exe,如果您遇到任何其他问题,请告诉我们。

The problem you reported is a transient bug that is fixed in the ImageMagick-6.7.2-4 release. Download http://www.imagemagick.org/download/binaries/ImageMagick-6.7.2-4-Q16-windows-dll.exe and let us know if you encounter any additional problems.

薔薇婲 2024-12-10 12:52:18

即使我今天也很难为 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");

Even I was struggling today to run this convert command for ImageMagick. But eventually it ran through. I was running like this:

Process pr = rt.exec("c:\\ImageMagick-6.7.7-9-Q16-windows\\ImageMagick-6.7.7-9\\convert.exe  abc.png output123.jpg");

So it was not executing properly.
Then I realized that I have to give full path to the images and not the way we are executing in the command line, since in the command line, execution images are relative to the path.
So provide the full path to the images as well.

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");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文