- PR -

WidowsXP+Java+ImageMagicにて

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/10/20
投稿数: 1
投稿日時: 2005-10-20 16:21
こんにちは
WindowsXPでのJavaからのアプリケーション起動によるエラーで困ってます。

環境は以下です。
 ・OS:WindowsXP Pro
 ・java:j2sdk1.4.2_07
 ・AP:ImageMagick-6.1.3-Q16のconvert.exe

画像の縮小をImageMagickのconvert.exeを用いて行います。
実際にはJavaのプログラムからconvert.exeをRuntime().execにて実行しています。

 ex. Runtime.getRuntime().exec( "convert -sample 200x200 image.jpg thumb.jpg" )

    ※内容:image.jpgを200x200のサイズ内に縮小しthumb.jpgに出力します。

この時画像ファイルが大きい(例:4000x5000)場合にconvert.exeが以下エラーを出力します。
例えば2000x3000ではエラーになりません。

  Application transferred too few scanlines.

内容的には、Java環境でのメモリの使用量が急速に増えた時に発生するエラーの様です。

但し、同じ処理をDOSコマンドラインから実行した場合はエラーになりません。

  c:\\>convert -sample 200x200 image.jpg thumb.jpg

またユーザのアクセス権限にて、Administratorの場合にはエラーになりません。

大画像時
権限      DOS実行時  Java実行時
Administrator   OK     OK
Users       OK     NG

小中画像時
権限      DOS実行時  Java実行時
Administrator   OK     OK
Users       OK     OK

Javaの問題というよりは、ImageMagicのconvert.exeとXP上の権限の問題かもしれません。
AdministratorとUsersではメモリ・リソースの扱いが異なってくるのでしょうか?
使用されるフォルダ等のUsersの権限をフルにしたりなどしてみても事象が変わりません。

どなたか同じような事象にあわれた方など、ヒントになることなどありましたらお教えください。

よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)