首页 > 代码库 > drawable(2、bitmap)
drawable(2、bitmap)
给出一个PNG资源导入,由RGB转灰度并显示的例子,代码如下:
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上 }}
drawable(2、bitmap)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。