Home > スポンサー広告 > Jmagickで画像の縮小 ~Windows編~

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://netforestdevnote.blog26.fc2.com/tb.php/16-6423ac23
Listed below are links to weblogs that reference
スポンサーサイト from Netforest Developer's Note

Home > スポンサー広告 > Jmagickで画像の縮小 ~Windows編~

Home > Java > Jmagickで画像の縮小 ~Windows編~

Jmagickで画像の縮小 ~Windows編~

take©です。画像のサムネイルを作る場合、JavaならimageioやJAIがありますが、どうも画質や変換速度をあげるのに苦労します。 そこで今回は100% Pure JavaをあきらめてImageMagickを使うサンプルをメモしておきます。 Runtime#execを使えば直接プロセスをキックすることができますが、これだとコードがOSに依存してしまうので、ImageMagickのJavaインターフェイスであるJmagickを使います。


Jmagickとは
* オープンソースなImageMagickのJavaインターフェイス。
* JNI(Java Native Interface)を使用してImageMagickのAPIを実行する。
* 今のところImageMagickのサブセット。
* LGPLライセンス。


ImageMagickとJmagickのダウンロード


Jmagickを実行するにはImageMagick本体も必要です。
Jmagickのページから両方落とせます。
http://www.jmagick.org/download.html



最新版の6.4.0はWindows用のバイナリファイルがないようなので、今回は6.3.9を選択します。



以下の2つをダウンロードします。
ImageMagick-6.3.9-0-Q16-windows-dll.exe
jmagick-win-6.3.9-Q16.zip


ImageMagickのインストール


ダウンロードしたImageMagick-6.3.9-0-Q16-windows-dll.exeを実行して、ウィザード通りにさくっとインストールします。


Jmagickのインストール

ダウンロードしたjmagick-win-6.3.9-Q16.zipを展開すると以下の2つのファイルがあります。
jmagick.dll
jmagick.jar

展開したら、jmagick.dllをImageMagickのインストールディレクトリに移動します。ImageMagickのインストールディレクトリのデフォルトは C:\Program Files\ImageMagick-6.3.9-Q16 になります。

サンプルコード

元画像を半分のサイズにしてみます。

JmagickSample.java
import magick.ImageInfo;
import magick.MagickImage;

public class JmagickSample {
	public static void main(String[] args) throws Exception {
		String src = args[0];
		String dst = args[1];
		MagickImage image = new MagickImage(new ImageInfo(src));
		int width  = (int) image.getDimension().getWidth() / 2;
		int height = (int) image.getDimension().getHeight() / 2;
		MagickImage resized = image.scaleImage(width, height);
		resized.setFileName(dst);
		resized.writeImage(new ImageInfo());
	}
}

コンパイルして実行

jmagick.jarにクラスパスを通して実行します。第1引数に元画像のパス、第2引数に変換後のパスを指定します。

javac JmagickSample.java -cp .;\path\to\jmagick.jar
java JmagickSample -cp .;\path\to\jmagick.jar \path\to\src.jpg \path\to\dst.jpg

やっぱりImageMagickは画質がいいですね!

ちなみにjmagick.jarはJNIでjmagick.dllを参照し、jmagick.dllはImageMagickのdllファイル群を参照します。 JNIはdllファイルを、環境変数PATHか、システムプロパティjava.library.pathから探します。 サンプルコードが動作しない場合は、java.library.pathに、dllファイルが存在するディレクトリが設定されているか確認しましょう。

Comments:0

Comment Form

Trackback+Pingback:0

TrackBack URL for this entry
http://netforestdevnote.blog26.fc2.com/tb.php/16-6423ac23
Listed below are links to weblogs that reference
Jmagickで画像の縮小 ~Windows編~ from Netforest Developer's Note

Home > Java > Jmagickで画像の縮小 ~Windows編~

Recent Comments
Recent Trackback
Search
Meta
Links
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。