- - PR -
WidowsXP+Java+ImageMagicにて
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