画像はピクセルのグループで構成され、バイナリ形式で保存された画像です。 Java 言語は、GIF、JPEG、BMP の 3 つの主要な画像ファイル形式をサポートしています。 Java言語の画像処理機能はImageクラスにカプセル化されています。
画像の読み込みと出力
Java プログラムでは、画像もオブジェクトであるため、画像をロードするときは、まず Image オブジェクトを宣言し、次に getImage() メソッドを使用して Image オブジェクトを画像ファイルに関連付ける必要があります。画像ファイルをロードするには 2 つの方法があります。
Image getImage(URL url)、url は画像の場所とファイル名を指定します。
Image getImage(URL url,String name)、url は画像の場所を指定し、name はファイル名です。
たとえば、次のコードは Image オブジェクトを宣言し、 getImage() オブジェクトを使用してそれを画像ファイルに関連付けます。
画像 img = getImage(getCodeBase(),"family.jpg");
URL (uniform Resource LocationUniform Resource Locator) オブジェクトは、リソースの名前とアドレスを識別するために使用され、WWW クライアントがインターネット リソースにアクセスするときに使用されます。画像の位置を決定するには、絶対位置と相対位置の 2 つの方法があります。相対位置を取得する方法には次のものがあります。
URL getCodeBase()、アプレット ファイルの場所を取得します。
URL getDocumentBase()、HTML ファイルの場所を取得します。
たとえば、次のコードを実行します。
URL picURLA = 新しい URL(getDocumentBase(),"imageSample1.gif"), picURLB = 新しい URL(getDocumentBase(),"pictures/imageSample.gif"); 画像イメージ imageA = getImage(picURLA), imageB = getImage(picURLB);
画像情報(属性)を取得する方法は次のとおりです。
getWidth(ImageObserver オブザーバー): 幅を取得します。
getHeight(ImageObserver オブザーバー): 高さを取得します。
画像を出力するコードは、paint() メソッドで記述します。 画像を表示するには、次の 4 つの方法があります。
booleandrawImage(Image img,int x,int y,ImageObserver observer)booleandrawImage(Image img,int x,int y,Color bgcolor,ImageObserver observer)booleandrawImage(Image img,int x,int y,int width,int height ,ImageObsever オブザーバー)booleandrawImage(Image img,int x,int y,int幅、int 高さ、カラー bgcolor、ImageObsever オブザーバー)
パラメータ img は Image オブジェクト、x、y は画像長方形の左上隅の位置、observer は画像をロードするときの画像観察者、bgcolor は画像の表示に使用される背景色、幅と高さは長方形の領域です。画像のサイズが異なる場合、表示される画像は拡大縮小されます。
Applet クラスは ImageObserver インターフェイスも実装しており、これは実際のパラメータとしてよく使用されます。次のコードとコメントを参照してください。
(1) g.drawImage(image1,0,0,this);//元画像表示
(2) g.drawImage(image2,10,10,Color.red,this);//グラフィックと背景色の表示 注: 元の画像のサイズが指定された範囲と異なる場合、システムは自動的に拡大縮小します。
(3) g.drawImage(labImag,0,0,this);//元画像表示
(4) g.grawImage(labImag,0,120,100,100,this);//ズーム表示
(5) g.grawImage(labImag,0,240,500,100,this);//ズーム表示
[例] 小規模なアプリケーションでは、init() または start() メソッドを使用して画像をダウンロード (取得) し、paint() メソッドを使用して取得した画像を表示します。
import java.applet.*;import java.awt.*;public class Example7_5 extends Applet{ Image myImag; public void start(){ myImag = getImage(getCodeBase(),"myPic.jpg"); g){ g.drawImage(myImg,2,2,this);Frame、JFrame、JPanel などのクラスには getImage() メソッドが提供されていないため、画像をロードするには java.awt.Toolkit の Toolkit 抽象クラスを使用する必要があります。このクラスには、画像ファイルをロードするためのメソッドがあります。
このように、さまざまなコンポーネントは getToolkit() メソッドを使用して Toolkit オブジェクトを取得し、コンポーネントの Pain() メソッドで Toolkit オブジェクトを介して画像を表示できます。次のコードは、そのような使用法を示しています。
ツールキットツール = getToolkit(); URL URL = 新しい URL(http://www.weixueyuan.net/image.gif);
コンポーネントは、Toolkit が提供する静的メソッド getDefaultToolkit() を使用してデフォルトの Toolkit オブジェクトを取得し、それを使用して画像をロードすることもできます。このとき、画像を読み込むコードは次のように書くことが多いです。
画像 img = Toolkit.getDefaultToolkit().getImage(url);