最終更新:
moonlight_aska 2013年03月04日(月) 00:25:41履歴
画像を上下左右に反転させるには, マトリックス(Matrix)クラスを利用する.

(出典:Android版「美人時計」より)

(出典:Android版「美人時計」より)
- ReverseImage.java
- Matrix#preScaleメソッドで, 反転情報を設定する.
- 上下反転 : (1, -1)
- 左右反転 : (-1, 1)
- 上下左右反転 : (-1, -1)
- Bitmap#createBitmapメソッドで, 反転画像を作成する.
- Matrix#preScaleメソッドで, 反転情報を設定する.
package com.moonlight_aska.android.reverseimage;
import android.os.Bundle;
import android.view.View;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
public class ReverseImage extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView view = new MyView(getApplication());
setContentView(view);
}
class MyView extends View {
private Bitmap bijin;
private Paint paint = new Paint();
private Matrix matrix = new Matrix();
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
Bitmap img = BitmapFactory.decodeResource(getResources(), R.drawable.bijintokei0852);
// 上下反転
matrix.preScale(1, -1);
// 左右反転
// matrix.preScale(-1, 1);
// 上下左右反転
// matrix.preScale(-1, -1);
bijin = Bitmap.createBitmap(img, 0, 0, img.getWidth(), img.getHeight(), matrix, false);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
canvas.drawColor(Color.WHITE);
canvas.drawBitmap(bijin, 0, 0, paint);
}
}
}
コメントをかく