View 的一些扩展方法

1. 转化成 Bitmap

fun View.toBitmap(

    backgroundColor:Int? = null,

    isIncludePadding:Boolean = true

):Bitmap?{

    val w= width - if (isIncludePadding) 0 else (paddingLeft + paddingRight)

    val h= height - if (isIncludePadding) 0 else (paddingTop + paddingBottom)

    if (w<= 0 || h<= 0) {

        return null

    }

    val bmp= Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888)

    val c= Canvas(bmp)

    /** 如果不设置canvas画布为白色,则生成透明*/

    if (backgroundColor != null) {

        c.drawColor(backgroundColor)

    }

    val l= if (isIncludePadding) 0 else paddingLeft

    val t= if (isIncludePadding) 0 else paddingTop

    layout(l, t, w+ l, h+ t)

    draw(c)

    return bmp

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容