戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Matrixを使って画像を拡大・縮小する

Canvas 等に画像を描画するとき、画像の大きさを変えたいときがあると思います。
そのときには Matrix を使うことで画像を拡大・縮小することができます。

API Reference: SurfaceView

■ 画面イメージ -----------------------------------------------
android_Matrix_Scale.png

■ ソースコードで定義 -----------------------------------------
// 縦横のスケールを取得する(1以上であればCanvasの方が大きい)
float fw = (float) getWidth() / (float) bitmap.getWidth();
float fh = (float) getHeight() / (float) bitmap.getHeight();

// スケールの小さい方を取得する
float min = Math.min(fw, fh);

// Matrixを生成する
Matrix matrix = new Matrix();

// スケールを設定する
// 縦横の比率を変えないために同じ値(小さい方)を設定する
matrix.postScale(min, min);

// Matrixを適用したBitmapを生成する
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
bitmap.getHeight(), matrix, true);
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。