HOME>Javaアプレット講座>画像の表示>パラメータによる画像のサイズ変更

パラメータによる画像のサイズ変更

まず画像を用意します。

hoseki.jpg
128 X 96

iconフォルダを作成してその中に画像を保存してください。

画像のサイズの変更の仕方は既に説明した通りdrawImageメソッド内に指定する方法があります。
けどここではパラメータを指定する方法を見ていきます。
指定の仕方はHTMLからjavaアプレットにデータを渡してやります。

ではサンプルプログラムで確認します。

サンプルプログラム(AppletSample43.java)

//java.appletパッケージをimport宣言
//Graphicsクラスはawtパッケージに属しているのでawtパッケージもimport宣言

import java.applet.*; import java.awt.*; //Appletクラスを継承 public class AppletSample43 extends Applet{

//画像を格納するための変数を用意します。
Image img;
//パラメータを格納する変数
int width,height; //はじめに一度だけ実行するメソッド public void init(){ //Imageクラス型変数に画像データを入れる img = getImage(getDocumentBase(),"icon/hoseki.jpg");
//htmlの<param>タグからパラメータを受け取る width = Integer.parseInt(getParameter("W")); height = Integer.parseInt(getParameter("H"));
} public void paint(Graphics g){ //画像を描く g.drawImage(img,0,0,this);
//1/2のサイズに変更 g.drawImage(img,200,0,width/2,height/2,this); //2倍のサイズに変更 g.drawImage(img,0,130,width*2,height*2,this); } }

プログラムをコピーする場合すべて選択をクリックしてください。

HTMLの作成(AppletSample43.html)

<html>
  <head>
      <title>画像サイズをパラメータで変更</title>
  </head>
   <body>

<h3>画像サイズを変更します</h3> <applet code="AppletSample43.class" width="300" height="400">
<!--もともとの画像サイズを指定-->
<param name="W" value="128"> <param name="H" value="96">
</applet>
</body> </html>

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

今回はもとになる画像を1/2のサイズと2倍のサイズに変更するプログラムを作成しています。
まず、今回のポイントはHTML内で<param>タグでもともとの画像サイズの情報を記述して
javaアプレット内のgetParamentメソッドで受け取っています。
その部分が
width = Integer.parseInt(getParameter("W"));
height = Integer.parseInt(getParameter("H"));
です。
getParameterメソッドの引数にはHTML内のタグで記述してあるname属性を指定しています。
つまり以下のように書き換えることも出来ます。
width = Integer.parseInt(getParameter("128"));
height = Integer.parseInt(getParameter("96"));

ここで重要なのが受け取った値は全て文字列として扱われますので
それをint型に変換しなければいけないのでInteger.parseIntで文字列をint型に変換したわけです。
実際サイズを変更しているのは
//1/2のサイズに変更
g.drawImage(img,200,0,width/2,height/2,this);
//2倍のサイズに変更
g.drawImage(img,0,130,width*2,height*2,this);
です。
つまりhtmlで受け取ったパラメータをそれぞれwidth/2,height/2 width*2,height*2でサイズの変更を行っています。 ページのトップへ戻る