how to convert a Picture object into a Bitmap object, Android
12,287
Add this:
//Convert Picture to Bitmap
private static Bitmap pictureDrawable2Bitmap(Picture picture) {
PictureDrawable pd = new PictureDrawable(picture);
Bitmap bitmap = Bitmap.createBitmap(pd.getIntrinsicWidth(), pd.getIntrinsicHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawPicture(pd.getPicture());
return bitmap;
}
Reference: Android - How to convert picture from webview.capturePicture() to byte[] and back to bitmap
Then modify your code as follows:
showBitmap.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Picture picture = wv.capturePicture();
Bitmap bm = pictureDrawable2Bitmap(picture);
imageOne.setImageBitmap(bm);
}
});
Author by
Kevik
Updated on July 24, 2022Comments
-
Kevik almost 2 years
how can I convert a Picture into a Bitmap, what I tried in the code is not working. Any Ideas on how to do this? I wanted to get the image in the Picture object and put that image into the ImageView named imageOne.
showBitmap.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Picture picture = wv.capturePicture(); Bitmap bm = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.RGB_565); Canvas c = new Canvas(bm); picture.draw(c); imageOne.setImageBitmap(bm); } });
-
beginner almost 3 yearsThanks it works, But could you explain why
Canvas canvas = new Canvas(bitmap);canvas.drawPicture(pd.getPicture());
needed. when you already have bitmap created?