SWT Tips and Samples 基礎編 > Image

 

Image

SWTのイメージクラスは、画像を取り扱うクラスです。ImageクラスはGIF, JPG, BMP, PNGなどの形式の画像をサポートしています。イメージをファイルからロードするには、Imageクラスのコンストラクタでファイル名を指定するだけです。下の例では、絶対パスを指定していますが、相対パスを指定した場合、javaを実行したディレクトリからの相対パスとしてイメージがロードされます。

Image image = new Image(display, "c:\\image\\sample.jpg");

またイメージファイルのパスを直接指定する代わりに、コンストラクタ Image(Display, InputStream) を使って、特定のクラスファイルの位置からの相対パスでイメージファイルの位置を指定することも可能です。

Image image = new Image(display, 
     ImageTest.class.getResourceAsStream("photo\\sky.jpg"));

上の例では、sky.jpgをImageTestクラスからみた相対的なパスとして指定しています。このときのディレクトリ構造は以下のようになります。この場合、どのディレクトリからImageTestクラスをjavaコマンドで実行しても正しくsky.jpgがロードされます。

C:\SAMPLE
└─basic
    │  ImageTest.class
    │
    └─photo
            sky.jpg

生成したImageはLabelなどのsetImageメソッドに渡し表示したり、GCのdrawImageで描画することができます。

label.setImage(image);
gc.drawImage(image, 0, 0);

スクリーンショット

ソースコード (ImageTest.java)

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.*;

public class ImageTest {

        public static void main(String[] args) {
                new ImageTest();
        }
        public ImageTest() {
                Display display = new Display();
                Shell shell = new Shell(display);
                shell.setText("ImageTest");
                shell.setLayout(new RowLayout(SWT.VERTICAL));
                
                Image image = new Image(display, "sky.jpg");
                Label label = new Label(shell, SWT.NONE);
                label.setImage(image);
                
                shell.pack();
                shell.open();
                while (!shell.isDisposed()) {
                        if (!display.readAndDispatch()) {
                                display.sleep();
                        }
                }
                display.dispose();
        }
}


最新更新日: 2004年7月24日
 
関連リンク
Eclipse API ドキュメント
Image

- PR -

プレゼンテーション作成ソフト無料お試し版配信中

【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!

オフィス用品・オフィス家具 価 格 交 渉 可! 
◎ 目指せ★業界最安値 ★ ◎ オフィネット・ドットコム株式会社

注文から納品まで驚きの早さ!!【ASKULカタログ】はこちらから・・・

マイクロソフト お得な見積! まとめての購入ならオトクな方法で。ライセンスだから管理も簡単。


Copyright(C) 2003,2004 Jasmin Project. All Right Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送