Android 根据View生成图片

01

背景

随着Android技术发展,经常有将某个界面截图保存下来分享,或者生成用户或者商品二维码图片方便加好友或者购买,所以这个功能在实际应用中非常有用,下面我将重点针对这些情况进行讲解,废话不多说了,先画个序列图,如下:

序列图

实现步骤:

步骤一:创建View;

首先,我们需要创建一个View,这个View可以是任何view,比如一个TextView或者一个Image View,也可以是LinearLayout或者ScrollView,或者用户自定义的控件,这个没有要求。

步骤二:将View转化成Bitmap;

概念一,Bitmap代表一张图片,其存储的是像素点,安卓中不同类型的图片如jpeg,png都可以用Bitmap表示。安卓中对图片的裁剪、缩放等一系列的操作都需要把图片文件以Bitmap的形式加载到内存中进行操作。Bitmap的创建通常是使用BitmapFactory类来创建的,因为通过看Bitmap构造源码可知使用构造函数来创建Bitmap对象的操作都是再jni层来完成的。我们只需使用BitmapFactory即可创建出Bitmap对象。具体Bitmap的构造和内部方法大家可以自定查阅api进行学习,就不多说了。

ALPHA_8——代表8位Alpha位图(只有A通道)

ARGB_4444——代表16位ARGB位图

ARGB_8888——代表32位ARGB位图

RGB_565——代表16位RGB位图(没有A通道)

位图位数越高代表其可以存储的颜色信息越多,当然图像也就越逼真,一般默认用8888。

Canvas是Android图形系统中一个核心的类,它允许你在屏幕上绘制图形,文字等。Canvas对象本身并没有实际的绘图能力,它需要与bitmap或者其他的drawable关联。Canvas的工作原理是:你创建一个bitmap,并且为它创建一个Canvas对象,然后你可以在这个bitmap上绘制你想要的任何东西,功能强大,具体的功能小伙伴可以自行学习哈。

步骤三:保存或分享Bitmap。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值