マルチメディアコンピューティングU

第2章:図形の表示

Javaには様々なプログラム部品(API: Application Programming Interface)がすでに用意されている.それらをうまく組み合わせてプログラムを作ればよい.

Java APIのマニュアル

2.1 長方形を描く

例題2.1

import java.applet.*;
import java.awt.Graphics;

public class hivision extends Applet {
    public void paint(Graphics g) {
        g.drawRect(20, 10, 160, 90);
    }
}

Java(クラス Graphics)には様々な描画メソッド(関数)が用意されている.基本的には縦横座標値,幅,高さなどのパラメータを指定することにより利用する.

例: drawRect(左上隅のx座標,左上隅のy座標,幅,高さ)

2.4 色の指定

RGB値を知りたい場合は,Wordを立ち上げ,書式→フォント→フォントの色(その他の色)→ユーザ設定で分かる.

付録1. Javaの補足説明

importは追加機能を取り込むための命令.Cにおける#include文のようなもの.

publicはそのクラスが外部から利用可能であることを宣言する命令.Cにおけるextern宣言に似ている.

extendsはクラスを変更するための命令.クラスhivisionはクラスAppletを変更したものである.

メソッドはクラス毎に宣言され,クラス名とともに指定する.g.drawRect()はクラスgのメソッドdrawRectを表している.

サンプルプログラム main1.java

public class main1
{
        public static void message1()
        {
                System.out.println("MMC2 is tough.");
        }
        public static void message2()
        {
                System.out.println("Programming is tough.");
        }
}

サンプルプログラム main2.java

public class main2 extends main1
{
        public static void message2()
        {
                System.out.println("Programming is easy.");
        }
}

サンプルプログラム browser.java

public class browser
{
        public static void main(String args[])
        {
                System.out.println("Welcome to KGU.");

                main2 a = new main2();
                a.message1();
                a.message2();
        }
}

付録2. 多角形の描画

サンプルプログラム polygon.java

import java.applet.*;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Polygon;

public class polygon extends Applet
{
        public void paint(Graphics g)
        {
                int[] x = new int[3];
                int[] y = new int[3];

                x[0] = 10; y[0] = 10;
                x[1] = 100; y[1] = 10;
                x[2] = 10; y[2] = 100;

                g.setColor(Color.red);
                g.fillPolygon(x, y, 3);

                x[0] = 110; y[0] = 10;
                x[1] = 200; y[1] = 10;
                x[2] = 110; y[2] = 100;

                g.setColor(Color.black);
                g.drawPolyline(x, y, 3);

                Polygon p = new Polygon();
                p.addPoint(50, 50);
                p.addPoint(80, 50);
                p.addPoint(80, 100);

                g.setColor(Color.blue);
                g.fillPolygon(p);
        }
}

付録3. 幾何図形の論理演算

java.awt.Graphics2Dクラスを利用する.

サンプルプログラム graphicsg21.java

import java.applet.*;
import java.awt.*;
import java.awt.geom.*;

public class graphicsg21 extends Applet
{
        public void paint(Graphics g)
        {
        g.drawRect(10,10,80,50);

        Graphics2D g2=(Graphics2D)g;
        Area e1=new Area(new Ellipse2D.Double(10,10,50,50));
        Area e2=new Area(new Ellipse2D.Double(40,10,50,50));

        g2.setColor(Color.white);
        g2.fill(e1); 
        g2.setColor(Color.white);
        g2.fill(e2); 
        e1.intersect(e2);
        g2.setColor(Color.green);
        g2.fill(e1); 
        
        }
}

ブール演算には以下のものがある.


2003.10.29