どうも、69です。
早速、前回 イメージの描画 の解説です。
では↓
*****ImageView.java**********************************
//フィールド変数image・imagesの定義
private Bitmap image,images;→ImageExのコンストラクタとonDraw()メソッドの両方からアクセス可能
//コンストラクタの定義
public ImageView(Context context){
super(context);
setBackgroundColor(Color.WHITE);→背景色指定
//画像の読み込み
Resources r=context.getResources();→リソースオブジェクトの取得
image=BitmapFactory.decodeResource(
r,R.drawable.android);→変数imageにandroid.pngを代入
images=BitmapFactory.decodeResource(
r,R.drawable.king);
}
//描画
@Override
protected void onDraw(Canvas canvas){
//イメージの描画
canvas.drawBitmap(image, 100,0,null);→imageの描画
canvas.drawBitmap(images,-100,0,null);→imagesの描画
//イメージの拡大
int w=image.getWidth();→imageの幅取得
int h=image.getHeight();→imageの高さ取得
Rect src=new Rect(0,0,w,h);→Rectクラスからsrcオブジェクトの生成(描画元領域)
Rect dst=new Rect(0,200,w*2,200+h*2);→dstオブジェクトの生成(描画先領域)
canvas.drawBitmap(image, src,dst, null);→imageの拡大描画
****************************************************
*****主に使用したクラス**********************************
import android.content.res.Resources;
Resources getResources()→リソースオブジェクトの取得(画像の読み込みに使用)
import android.graphics.Bitmap;
image,imagesの型
import android.graphics.BitmapFactory;
static Bitmap decodeRecource(Recource resources,int resID)→リソースの画像ファイルの読み込み。引数:リソースオブジェクト,リソースID。戻り値:Bitmapオブジェクト。リソースIDは[res/drawable]に配置したファイルを[R.drawable.ファイル名(拡張子なし)]で指定
import android.graphics.Canvas;
void drawBitmap(Bitmap bitmap,int X,int Y,Paint paint)→イメージの描画。引数:ビットマップオブジェクト,X座標,Y座標,描画オブジェクト(nullでもいい)。座標はイメージ左上。
void drawBitmap(Bitmap bitmap,Rect src,Rect dst,Paint paint)→描画領域を指定して描画。引数:ビットマップオブジェクト,描画元領域の矩形,描画先領域の矩形,描画オブジェクト。
import android.graphics.Rect;
Rect(int left,int top,int right.int bottom)→描画領域の指定
****************************************************
です。
staticが付いているものは
オブジェクトではなく、
クラスで保持するフィールド変数やメソッドで、
全オブジェクト共通で使いたいときに使用します。
staticなし→インスタンスフィールド・メソッド
staticあり→スタティックフィールド・メソッドといいます。
フィールド変数は
オブジェクトの持つ変数で
オブジェクトが解放されるまで保持し続けます。
書式は
アクセス修飾子 変数の型 変数名;
private Bitmap image;
てな、感じです。
画像は、画像の一部を指定して部分表示もできるそうな。
おしまい。
0 件のコメント:
コメントを投稿