BitmapFactory.Options&bitmap加灰色遮罩

----- 代码

① BitmapFactory.Options仅读取图片的尺寸参数的正确使用姿势


② 给bitmap加灰色遮罩

private void draw2layer(ImageView imageViewBlur2) {

        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeResource(getResources(), R.drawable.icon, options);
        int outWidth = options.outWidth;
        int outHeight = options.outHeight;

        Log.i(tag, "draw2layer: outWidth = " + outWidth + " ; outHeoght = " + outHeight);

        Bitmap bitmap = Bitmap.createBitmap(outWidth, outHeight, Bitmap.Config.RGB_565);
        Canvas canvas = new Canvas(bitmap);
        canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.icon, null), 0, 0, null);
        Canvas canvas1 = new Canvas(bitmap);
        canvas1.drawColor(0x33000000);
        imageViewBlur2.setImageBitmap(bitmap);
    }

----- 效果展示


-------未加灰色遮罩代码


        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeResource(getResources(), R.drawable.icon, options);
        int outWidth = options.outWidth;
        int outHeight = options.outHeight;

        Log.i(tag, "draw2layer: outWidth = " + outWidth + " ; outHeoght = " + outHeight);

        Bitmap bitmap = Bitmap.createBitmap(outWidth, outHeight, Bitmap.Config.RGB_565);
        Canvas canvas = new Canvas(bitmap);
        canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.icon, null), 0, 0, null);
        imageView.setImageBitmap(bitmap);

----- 实现灰色遮罩的另外一种思路

最新blog:bitmap和canvas实现图层叠加

传送门 点击打开链接



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章