Android获取View对应的Bitmap

news/2024/7/4 9:30:00

我的应用里面有一个需求,将一个画面分享出去,这个画面底层是一个View,所以首先要把这个View转换成Bitmap,然后在分享这个bitmap即可。话不多说,直接上代码。

有个地方需要注意一下:就是//Draw background的代码不能省略,否则生成的图片背景就是黑色的了。

==

public static Bitmap getBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.RGB_565);
    Canvas c = new Canvas(b);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    // Draw background
    Drawable bgDrawable = v.getBackground();
    if (bgDrawable != null)
        bgDrawable.draw(c);
    else
        c.drawColor(Color.WHITE);
    // Draw view to canvas
    v.draw(c);
    return b;
}

==


http://www.niftyadmin.cn/n/647545.html

相关文章

Java进阶之设计模式

什么是设计模式 答:简单的说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的 经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。 通常来说设计模式分为三大类: …

用Python实现不同数据源的对象匹配【思考】

关于之前的利用python实现不同数据源的数据匹配的实验的一些思考: 在开始匹配之前一定要对于两个数据源中的记录进行分析,结合实际的应用场景判断合适的匹配字段;开始匹配之前可以进行一些简单的判断,看看所得到的数据的纯净度如何…

float double BigDecimal 详解

首先给看一个代码段 package com.main;public class Test1 {public static void main(String[] args){double b10.060.01;float b2(float) (0.060.01);System.out.println(0.060.01);System.out.println(1.0-0.42);System.out.println(4.015*100);System.out.println(303.1/10…

Java三大特性详解--封装

本人也是刚刚入职java开发的小白,在实际工作中和在学校用到的东西还是有很多不一样的,虽然我是科班出身,但是还是深感自己基础不牢啊,可谓基础不牢,地动山摇,在工作中往往一个简单的bug找到吐血&#xff0c…

利用阿里大于(大鱼)平台进行发送手机验证码

昨天看了一篇博文利用阿里云大于平台给手机发送验证码和短信,当时自己就很感兴趣,因为这个技术很有用,相当于以后做用户注册的功能可以进行短信验证,并且大于平台的短信收费也很低,我自己都没有花钱。现在来分享一下我…

Description Resource Path Location Type Project configuration is not up-to-d

右键项目,【Maven】—》【Update Project Configuration…】 搞定 欢迎大家关注个人公众号 分享各种学习资料,包含java,linux,大数据等。资料包含视频文档以及源码,仅供学习交流和分享,不涉及任何商业用途。…

java生成一维码和二维码

这两天想了解一下二维码是怎样生成的。然后在网上看了很多资料,也有很多源码可以直接用的。我也没有自己写,也是拿着源码进行看和修改的,然后生成自己想要的二维码和一维码,还是很不错的,所以分享一下。 首先第一步&a…

PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置

转载于:https://www.cnblogs.com/zhanghaiyang/p/7212840.html