drawable(2、bitmap)
2779 ワード
RGBから階調を変えて表示するPNGリソースのインポート例を示します.コードは以下の通りです.
public class GrayView extends View {
private Bitmap bmp;
public GrayView(Context context) {
super(context);
Resources res = getResources();
bmp = BitmapFactory.decodeResource(res, R.drawable.ic_launcher);// ic_launcher bitmap
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
Bitmap output = Bitmap.createBitmap(bmp.getWidth(),
bmp.getHeight(),
Config.ARGB_8888);// bitmap bitmap for(int i = 0; i < bmp.getWidth(); i++){
for(int j = 0; j < bmp.getHeight(); j++){
int color = bmp.getPixel(i, j);// int red = Color.red(color); // R、G、B int green = Color.green(color);
int blue = Color.blue(color);
int tmp = (red + green + blue)/3; //
output.setPixel(i, j, Color.rgb(tmp,tmp,tmp)); // R、G、B
}
}
canvas.drawBitmap(output, 100, 100, null);// bitmap canvas
}
}