用黑色代替透明:从位图获取URI

时间:2019-06-12 15:15:29

标签: android view bitmap uri

我正在尝试从URI获取bitmap并将bitmap设置为ImageView,但是不是获取透明的位图,而是将位图的所有透明部分变成了黑色,我已经测试过getDrawingCache()方法,它为我提供了我想要的正确位图,因此导致黑色的问题是从URI获取Bitmap的方式。

从画布上获取bitmap

 public Bitmap getBitmapSaved() {
        return this.getDrawingCache();
    }

保存按钮:

done.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent();
                    intent.putExtra("EMOJIBG", getImageUri(getApplicationContext(), drawView.getBitmapSaved()).toString());
                    setResult(RESULT_OK, intent);
                    finish();
                }
            });



    private Uri getImageUri(Context context, Bitmap inImage) {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        inImage.compress(Bitmap.CompressFormat.PNG, 100, bytes);
        String path = MediaStore.Images.Media.insertImage(context.getContentResolver(), inImage, "Emoji", null);
        return Uri.parse(path);
    }

0 个答案:

没有答案