如何将Picture对象转换为Bitmap对象,Android

Kev*_*vik 5 android image type-conversion imageview

如何将图片转换为位图,我在代码中尝试的不起作用.关于如何做到这一点的任何想法?我想在Picture对象中获取图像,并将该图像放入名为imageOne的ImageView中.

    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);

            }
        });
Run Code Online (Sandbox Code Playgroud)

Dav*_*arl 11

添加这个:

//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;
}
Run Code Online (Sandbox Code Playgroud)

参考:Android - 如何将图片从webview.capturePicture()转换为byte []并返回到位图

然后修改您的代码如下:

showBitmap.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Picture picture = wv.capturePicture();
        Bitmap bm = pictureDrawable2Bitmap(picture); 
        imageOne.setImageBitmap(bm);
    }
});
Run Code Online (Sandbox Code Playgroud)