memo
http://www.hatena.ne.jp/masa1001/config/account
package net.easyjp.drawimage; import android.app.Activity; import android.os.Bundle; import android.view.Window; public class DrawImage extends Activity { // 初期化 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(new ImageView(this)); } }
package net.easyjp.drawimage; import android.content.res.Resources; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Rect; import android.view.View; public class ImageView extends View { private Bitmap image; // コンストラクタ public ImageView(Context context) { super(context); setBackgroundColor(Color.WHITE); // 画像の読み込み Resources res = context.getResources(); image = BitmapFactory.decodeResource(res, R.drawable.coffee); } // 描画 @Override protected void onDraw(Canvas canvas) { // 画像をそのまま表示 canvas.drawBitmap(image, 0, 0, null); int w = image.getWidth(); int h = image.getHeight(); // 画像を1/2に縮小して表示 Rect src = new Rect(0, 0, w, h); // 元画像のどの部分を利用するか(今回は全体) // 表示先の領域(左上と右下の座標) // この領域の大きさが元の画像より小さい場合に縮小される Rect dst = new Rect(0, h+10, w/2, h+10 + h/2); canvas.drawBitmap(image, src, dst, null); // 画像を2倍に拡大して表示 src = new Rect(0, 0, w, h); dst = new Rect(0, 250, w*2, 250+h*2); canvas.drawBitmap(image, src, dst, null); } }