android 自定义控件属性获取bitmap和drawable的绘制

摘要:
1.在定义一个属性的格式的时在attrs属性文件中定义如下,reference表示图片等引用类型,color就是颜色。

1. 在定义一个属性的格式的时在attrs属性文件中定义如下,reference表示图片等引用类型,color就是颜色。中间用一个竖线分割开

android 自定义控件属性获取bitmap和drawable的绘制第1张

2. 获取格式为reference|color类型的在xml中的数据为drawable文件

android 自定义控件属性获取bitmap和drawable的绘制第2张

为了将这个drawable对象绘制到view上面,需要将drawable转换为bitmap对象,转换代码

    public Bitmap drawableToBitmap(Drawable drawable, int width, intheight) {
        if (drawable instanceofBitmapDrawable) {
            return((BitmapDrawable) drawable).getBitmap();
        }
        Bitmap bitmap =Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = newCanvas(bitmap);
        drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
        drawable.draw(canvas);
        returnbitmap;
    }

这样就可以将图片或者颜色这样的数据通过自定义属性获取到然后再绘制了

免责声明:文章转载自《android 自定义控件属性获取bitmap和drawable的绘制》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇我是怎么知道 PTHREAD_MUTEX_INITIALIZER 是什么鬼东西的 ??.Net Core 3.1简单搭建微服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

将某个div内容保存成图片,使用html2canvas截图方法(高清图并解决图片跨域问题)

首先附上html2canvas的CDN地址:http://www.bootcdn.cn/html2canvas/ ; 此方法可截取整个div的内容,包括不可视区域,并且可以实现跨域图片截图。之前看了很多关于html2canvas插件图片跨域的解决办法,大部分的答复是在服务器端配置,之后将useCORS属性设置为true,但是如果图片是保存在别人家的服务器上...

html5 canvas 实现简单的画图

今天早上看了一下 canvas 前端画图,数据可视化, 百度的 echart.js , d3等 js 库都已经提供了强大的绘制各种图形的 API。 下面记录一下 有关canvas 绘图的基本知识: <html> <head > <script src ='http://t.zoukankan.com/aop.js'...

C#图片动画效果(旋转360度)异步

private void Button1_Click(object sender, EventArgs e) { Graphics graphics = this.CreateGraphics(); graphics.Clear(Color.W...

GdiPlus[57]: 图像(九) IGPBitmap 特有的属性与方法

这包括: //属性 IGPBitmap.Pixels; { 获取或设置指定像素的颜色 } //方法 IGPBitmap.SetResolution(); { 设置分辨率 } IGPBitmap.GetHBitmap(); { 创建 GDI 格式的 Bitmap 并返回句柄 } IGPBitmap.GetHIcon;...

uni-app中使用Echarts绘画图表

enmnm...一般会使用npm下载echarts这个包,但是不知道是我自己的配置问题还是别的原因,一直出不来图线, 于是,把Hello uni-app模板里的那个组件抱过来,然后,成了! 首先, 1、页面引入 <template> <view class="container">...

C# EPL USB 指令打印

private void btnPrinter_Click(object sender, EventArgs e) { #region ESC 热敏图像点阵像素点读取打印 //Bitmap bitmap = new Bitmap(@"D:450X100.bmp");...