読者です 読者をやめる 読者になる 読者になる

AndroidでCanvasにキレイに拡大縮小した画像を描画する方法

android

ギザギザしてるなーとおもったら
こうじゃなくて

  canvas.drawBitmap(bitmap, matrix, background);

こう

    //現在のセーブカウントを保持(カウント=0)
    int count = canvas.getSaveCount();
    //セーブ(カウント=1)
    canvas.save();
     
    //ResourceからBitmapを生成
    Bitmap bitmap = BitmapFactory.decodeResource(getResource(),R.drawable.icon);
    //BitmapからBitmapDrawableを生成
    BitmapDrawable drawable = new BitmapDrawable(bitmap);
    //drawableの描画領域設定(必須)
    drawable.setBounds(0,0,drawable.getBitmap().getWidth(),drawable.getBitmap().getHeight());
    //bitmapを移動、回転、拡大縮小したい場合はその情報を持ったMatrixをわたす
    canvas.concat(matrix);
    //canvasに描画
    drawable.draw(canvas);
     
    //リストアする(カウント=0の状態に戻す)
    canvas.restoreToCount(count);

ネタ元