<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>画像を表示する(2)</title><revhistory><revision><revnumber>3</revnumber><date>2012-01-11 04:29:00</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>2</revnumber><date>2012-01-10 02:11:02</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>1</revnumber><date>2012-01-10 02:04:40</date><authorinitials>masahiko</authorinitials></revision></revhistory></articleinfo><section><title>画像を表示する(2)</title><section><title>画像ファイル</title><para>この画像ファイル(game0.png)を使うことにします。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E7%94%BB%E5%83%8F%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%282%29?action=AttachFile&amp;do=get&amp;target=game0.png"/></imageobject><textobject><phrase>game0.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><para>書かれている数は０～１５の１６個です。 </para><!--rule (<hr>) is not applicable to DocBook--></section><section><title>プログラム</title><para>画像ファイル(game0.png)を読み込んで、 それを表示するプログラムは次のようになります。 第11回、12回参照。 </para><itemizedlist><listitem override="none"><programlisting format="linespecific" language="java" linenumbering="numbered" startinglinenumber="1"><token><![CDATA[import]]></token><![CDATA[ ]]><methodname><![CDATA[javax.swing.*]]></methodname><![CDATA[;]]>
<token><![CDATA[import]]></token><![CDATA[ ]]><methodname><![CDATA[java.awt.*]]></methodname><![CDATA[;]]>

<token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[class]]></token><![CDATA[ ]]><methodname><![CDATA[Game1]]></methodname><![CDATA[ ]]><token><![CDATA[extends]]></token><![CDATA[ ]]><methodname><![CDATA[JPanel]]></methodname>
<![CDATA[{]]>
<![CDATA[        ]]><methodname><![CDATA[Image]]></methodname><![CDATA[ ]]><methodname><![CDATA[img]]></methodname><![CDATA[;]]>
<![CDATA[        ]]>
<![CDATA[        ]]><methodname><![CDATA[Game1]]></methodname><![CDATA[()]]>
<![CDATA[        {]]>
<![CDATA[                ]]><methodname><![CDATA[ImageIcon]]></methodname><![CDATA[ ]]><methodname><![CDATA[ii]]></methodname><![CDATA[ = ]]><token><![CDATA[new]]></token><![CDATA[ ]]><methodname><![CDATA[ImageIcon]]></methodname><![CDATA[(]]><phrase><![CDATA["game0.png"]]></phrase><![CDATA[);]]>
<![CDATA[                ]]><methodname><![CDATA[img]]></methodname><![CDATA[ = ]]><methodname><![CDATA[ii]]></methodname><![CDATA[.]]><methodname><![CDATA[getImage]]></methodname><![CDATA[();]]>
<![CDATA[        }]]>
<![CDATA[        ]]>
<![CDATA[        ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[void]]></token><![CDATA[ ]]><methodname><![CDATA[paintComponent]]></methodname><![CDATA[(]]><methodname><![CDATA[Graphics]]></methodname><![CDATA[ ]]><methodname><![CDATA[g]]></methodname><![CDATA[)]]>
<![CDATA[        {]]>
<![CDATA[                ]]><methodname><![CDATA[g]]></methodname><![CDATA[.]]><methodname><![CDATA[drawImage]]></methodname><![CDATA[(]]><methodname><![CDATA[img]]></methodname><![CDATA[, 0,0, ]]><token><![CDATA[this]]></token><![CDATA[);]]>
<![CDATA[        }]]>
<![CDATA[        ]]>
<![CDATA[        ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[static]]></token><![CDATA[ ]]><token><![CDATA[void]]></token><![CDATA[ ]]><methodname><![CDATA[main]]></methodname><![CDATA[(]]><methodname><![CDATA[String]]></methodname><![CDATA[[] ]]><methodname><![CDATA[args]]></methodname><![CDATA[)]]>
<![CDATA[        {]]>
<![CDATA[                ]]><methodname><![CDATA[JFrame]]></methodname><![CDATA[ ]]><methodname><![CDATA[f]]></methodname><![CDATA[;]]>
<![CDATA[                ]]>
<![CDATA[                ]]><methodname><![CDATA[f]]></methodname><![CDATA[ = ]]><token><![CDATA[new]]></token><![CDATA[ ]]><methodname><![CDATA[JFrame]]></methodname><![CDATA[();]]>
<![CDATA[                ]]><methodname><![CDATA[f]]></methodname><![CDATA[.]]><methodname><![CDATA[setVisible]]></methodname><![CDATA[(]]><symbol><![CDATA[true]]></symbol><![CDATA[);]]>
<![CDATA[                ]]><methodname><![CDATA[f]]></methodname><![CDATA[.]]><methodname><![CDATA[setTitle]]></methodname><![CDATA[(]]><phrase><![CDATA["15Game"]]></phrase><![CDATA[);]]>
<![CDATA[                ]]><methodname><![CDATA[f]]></methodname><![CDATA[.]]><methodname><![CDATA[setSize]]></methodname><![CDATA[(420, 450);]]>
<![CDATA[                ]]><methodname><![CDATA[f]]></methodname><![CDATA[.]]><methodname><![CDATA[setDefaultCloseOperation]]></methodname><![CDATA[(]]><methodname><![CDATA[JFrame]]></methodname><![CDATA[.]]><methodname><![CDATA[EXIT_ON_CLOSE]]></methodname><![CDATA[);]]>
<![CDATA[                ]]><methodname><![CDATA[f]]></methodname><![CDATA[.]]><methodname><![CDATA[add]]></methodname><![CDATA[( ]]><token><![CDATA[new]]></token><![CDATA[ ]]><methodname><![CDATA[Game1]]></methodname><![CDATA[() );]]>
<![CDATA[        }]]>
<![CDATA[}]]>
</programlisting></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>drawImage</title><para>このメソッドは JavaAPIのページでは次のように説明されています。 </para><itemizedlist><listitem override="none"><screen><![CDATA[public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)]]></screen></listitem><listitem><para>指定されたイメージの現在利用可能な部分だけを描きます。イメージは、このグラフィックスコンテキストの座標空間の (x, y) にその左上隅を合わせて描画されます。イメージ内の透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。 </para></listitem><listitem><para>完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。 </para></listitem><listitem><para>イメージが完全にロードされ、ピクセルが変更されなくなった場合、drawImage は true を返します。イメージが完全にロードされていない場合、drawImage は false を返し、イメージのさらに多くの部分が利用可能になるか、アニメーションの別のフレームに描画され、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。 </para></listitem><listitem><para>パラメータ: </para><itemizedlist><listitem><para>img - 描画される指定イメージimg が null の場合には何も行わない </para></listitem><listitem><para>x - x 座標 </para></listitem><listitem><para>y - y 座標 </para></listitem><listitem><para>observer - イメージがさらに変換されることが通知されるオブジェクト  </para></listitem></itemizedlist></listitem></itemizedlist></section></section></article>