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實現圖層疊加

傳送門 點擊打開鏈接



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