我正在尝试从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);
}