モジュール開発にて、アイコンを表示する事が多くあるかと思います
基本的には事前にドットエディタや画像編集ソフトで準備したものを使用しますが、状況に応じ、複数の画像を動的に重ねて表示したい場合があります
以下のような感じです
※実際に NetBeans で使われているこの画像は既に合成されたものが使用されており、以下は説明用に別途分けたものです
+ =
これを実現するには Utilities API の ImageUtilities.mergeImages() メソッドを使い、下記のように書きます
// 結合する画像1、2の読み込み
Image fieldImage = ImageUtilities.loadImage("field_16.png");
Image keyBadgeImage = ImageUtilities.loadImage("key_badge.png");
// 画像合成
Image mergedImage = ImageUtilities.mergeImages(fieldImage, keyBadgeImage, 0, 0);
Image fieldImage = ImageUtilities.loadImage("field_16.png");
Image keyBadgeImage = ImageUtilities.loadImage("key_badge.png");
// 画像合成
Image mergedImage = ImageUtilities.mergeImages(fieldImage, keyBadgeImage, 0, 0);
頻繁に変更される場合以外は多少ファイル数が増えても事前に合成済の画像を表示する方が(当然ながら)処理は早いので、上記処理は使いどころを考える必要はあります
しかし、面倒な画像処理を省いて簡単に実現できるので、機会があれば是非お試し下さい
0 件のコメント:
コメントを投稿