为了账号安全,请及时绑定邮箱和手机立即绑定

将画布转换为android中的位图图像

将画布转换为android中的位图图像

HUH函数 2019-09-02 17:06:49
我正在尝试在画布上开发一个应用程序,我在画布上绘制一个位图。绘制后,我试图转换为位图图像。任何人都可以给我一个建议。先感谢您。
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

建议取决于你想要做什么。

如果您担心控件需要很长时间才能绘制,并且您想要绘制位图以便您可以通过blit重新绘制位图而不是通过画布重新绘制,那么您希望双重猜测平台 - 控件自动将其绘图缓存到临时位图,甚至可以使用控件从控件中获取这些位图getDrawingCache()

如果要使用画布绘制位图,通常的配方是:

  1. 使用创建正确大小的位图 Bitmap.createBitmap()

  2. 使用Canvas(Bitmap)构造函数创建指向此位图的画布实例

  3. 画到画布上

  4. 使用位图


查看完整回答
反对 回复 2019-09-02
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

所以你创建一个新的Bitmap,例如:


Bitmap myBitmap = new Bitmap( (int)Width, (int)Height, Config.RGB_565 )


同width和height是一样的画布。


接下来,使用canvas.setBitmap(myBitmap),但不是drawBitmap()。


在你打电话之后setBitmap,你在画布上绘制的所有内容实际上都是myBitmap通过我所说明的示例代码来实现的。


编辑:


您无法直接创建位图,例如:


Bitmap myBitmap = new Bitmap( (int)Width, (int)Height, Config.RGB_565 );

你必须使用:


Bitmap myBitmap = Bitmap.createBitmap( (int)Width, (int)Height, Config.RGB_565 );



查看完整回答
反对 回复 2019-09-02
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

其他例子:


public Bitmap getBitmapNews(int item , boolean selected, int numbernews){                   

        Bitmap bitmap;


        if(selected)

            bitmap=mBitmapDown[item].copy(Config.ARGB_8888, true);

        else 

            bitmap=mBitmapUp[item].copy(Config.ARGB_8888, true);


        Canvas canvas = new Canvas(bitmap);


        if(numbernews<10){

        canvas.drawBitmap(mNotiNews[numbernews],0,0,null);

        }else{

            canvas.drawBitmap(mNotiNews[0],0,0,null);

        }


 return bitmap; 

}


查看完整回答
反对 回复 2019-09-02
  • 3 回答
  • 0 关注
  • 438 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信