Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将PicturedRavable转换为位图_Android_Bitmap_Type Conversion_Image - Fatal编程技术网

Android 如何将PicturedRavable转换为位图

Android 如何将PicturedRavable转换为位图,android,bitmap,type-conversion,image,Android,Bitmap,Type Conversion,Image,如何将PicturedRavable对象转换为位图对象?我尝试了下面显示的代码,它给出了空指针 //Convert PictureDrawable to Bitmap private Bitmap pictureDrawable2Bitmap(PictureDrawable pictureDrawable){ Bitmap bitmap = Bitmap.createBitmap(pictureDrawable.getIntrinsi

如何将PicturedRavable对象转换为位图对象?我尝试了下面显示的代码,它给出了空指针

       //Convert PictureDrawable to Bitmap
            private Bitmap pictureDrawable2Bitmap(PictureDrawable pictureDrawable){
            Bitmap bitmap = Bitmap.createBitmap(pictureDrawable.getIntrinsicWidth(),pictureDrawable.getIntrinsicHeight(), Config.ARGB_8888);
            Toast.makeText(HTMLActivity.this, "bitmap " + bitmap.toString(), Toast.LENGTH_LONG).show();
            Canvas canvas = new Canvas(bitmap);
            canvas.drawPicture(pictureDrawable.getPicture());
            return bitmap;
        }
下面是一个示例,显示我在代码中所做的操作

    private Picture picture;
    private String url;
    private WebView webview;
    private Bitmap HTMLBitmap;
    private PictureDrawable HTMLPicDraw;

     // goal is to convert WebView --> Picture --> PictureDrawable --> Bitmap
        picture = webview.capturePicture();
        HTMLPicDraw = new PictureDrawable(picture);
      // HTMLPicDraw a PictureDrawable object is good, no null pointer exception here
      // what is left is to go from PictureDrawable to Bitmap

使用下面的代码,它为我工作

//  get bitmap from view
public static Bitmap getBitmapFromView(View view) {
            Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(returnedBitmap);
            Drawable bgDrawable =view.getBackground();
            if (bgDrawable!=null) 
                bgDrawable.draw(canvas);
          /*  else 
                canvas.drawColor(Color.WHITE);*/
            view.draw(canvas);
            return returnedBitmap;
        }