【问题标题】:how to convert a Picture object into a Bitmap object, Android如何将图片对象转换为位图对象,Android
【发布时间】:2013-03-22 04:58:01
【问题描述】:

如何将图片转换为位图,我在代码中尝试的方法不起作用。关于如何做到这一点的任何想法?我想获取 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);

            }
        });

【问题讨论】:

标签: android imageview type-conversion image


【解决方案1】:

添加这个:

//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;
}

参考:Android - How to convert picture from webview.capturePicture() to byte[] and back to bitmap

然后修改你的代码如下:

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

【讨论】:

  • 谢谢它有效,但你能解释为什么需要Canvas canvas = new Canvas(bitmap);canvas.drawPicture(pd.getPicture());。当你已经创建了位图?
猜你喜欢
  • 2010-12-04
  • 2017-07-15
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 2018-12-22
  • 2015-03-21
相关资源
最近更新 更多