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上
    }
}
时间: 2024-11-10 10:47:03

drawable(2、bitmap)的相关文章

Android Drawable、Bitmap、byte[]之间的转换

转自http://blog.csdn.net/june5253/article/details/7826597 1.Bitmap-->Drawable Bitmap drawable2Bitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); } else if (drawable instanceof NinePatch

Drawable、Bitmap、byte[]之间的转换

1.Drawable → Bitmap Java代码   public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARG

android 获取资源文件 r.drawable中的图片转换为drawable、bitmap

1. Resources resources = mContext.getResources(); Drawable drawable = resources.getDrawable(R.drawable.a); imageview.setBackground(drawable); 2. Resources r = this.getContext().getResources(); Inputstream is = r.openRawResource(R.drawable.my_backgrou

获取资源文件 r.drawable中的图片转换为drawable、bitmap

1. Resources resources = mContext.getResources(); Drawable drawable = resources.getDrawable(R.drawable.a); imageview.setBackground(drawable); 2. Resources r = this.getContext().getResources(); Inputstream is = r.openRawResource(R.drawable.my_backgrou

android 获取资源文件 R.drawable中的图片转换为drawable、bitmap(转载)

转载自:android 获取资源文件 R.drawable中的图片转换为drawable.bitmap 1. Resources resources = mContext.getResources();Drawable drawable = resources.getDrawable(R.drawable.a);imageview.setBackground(drawable); 2. Resources r = this.getContext().getResources();Inputstr

Drawable、Bitmap、Canvas和Paint的关系以及部分使用方法

刚刚开始学习Android平台,对于Drawable.Bitmap.Canvas和Paint它们之间的概念不是很清楚,其实它们除了Drawable外早在Sun的J2ME中就已经出现了,但是在Android平台中,Bitmap.Canvas相关的都有所变化. 首先让我们理解下Android平台中的显示类是View,但是还提供了底层图形类android.graphics,今天所说的这些均为graphics底层图形接口. Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如

【转】Drawable /Bitmap、String/InputStream、Bitmap/byte[]

原文:http://wuxiaolong.me/2015/08/10/Drawable-to-Bitmap/ Drawable互转Bitmap Drawable转Bitmap 1234 Resources res = getResources();Drawable drawable = res.getDrawable(R.drawable.myimage);BitmapDrawable bd = (BitmapDrawable) d;Bitmap bm = bd.getBitmap(); 123

Android-Drawable、Bitmap、byte[]、资源文件相互转换

我们在Android的开发中,经常可以遇到图片的处理,当中,有很多是 Bitmap.Drawable.byte[]和资源文件它们直接相互转换. 今天就此总结一下: 1.资源文件转为Drawable 2.资源文件转为Bitmap 3.Bitmap转Drawable 4.Drawable转Bitmap 5.Bitmap转byte数组 6.Drawable转byte数组 7.byte数组转Bitmap 8.byte数组转Drawable 上面的代码也比较简单,这里不解释咯! 2016-10-29

Android--Drawable、Bitmap、Canvas和Paint的关系

Drawable.Bitmap.Canvas和Paint 除了Drawable外早在Sun的J2ME中就已经出现了,但是在Android平台中,Bitmap.Canvas相关的都有所变化. 首先让我们理解下Android平台中的显示类是View,但是还提供了底层图形类android.graphics,今天所说的这些均为graphics底层图形接口. (1)Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高