画像モーフィング特論

とりあえずJPEG画像を読み込んで表示するだけのプログラムをば.私のPCは遅いので私はAWTが好きだ*1.先ず何らかの作業ディレクトリ(ここでは PREFIX/ としよう)の中に sprawl/morph/ というディレクトリを作って以下のソースコード SimpleViewer.java を中に保存し,PREFIX/ において javac -d . sprawl.morph.SimpleViewerコンパイルPREFIX/ 内に face.jpg というJPEGファイルを置いてから java sprawl.morph.SimpleViewer で実行.

package sprawl.morph;

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

public class SimpleViewer extends Frame {
    Image jpegPhoto;
    public SimpleViewer() {
        super("A Simple JPEG Viewer");
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent event) {
                dispose();
            }
            public void windowClosed(WindowEvent event) {
                System.exit(0);
            }
        } );

        Toolkit toolkit = Toolkit.getDefaultToolkit();
        jpegPhoto = toolkit.getImage("face.jpg");

        setSize(800, 600);
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        new SimpleViewer();
    }

    public void paint(Graphics graphics) {
        super.paint(graphics);
        graphics.drawImage(jpegPhoto, 10, 10, this);
    }
}

*1:あのクソ重いSwingが "LightWeight Toolkit" とはよくまぁ名付けたものだ.考えたのは余程のマーケティングの達人に違いない.