缺点:
1、只有5.0及以上的设备才支持
2、只能着纯色,不能着渐变色
效果:(第一个为原图)
附录:
Shader类源码简析:
Shader类中定义了一个 枚举: enum TileMode{CLAMP, REPEAT, MIRROR};定义了三种渲染图形的模式。
注: 如果图片和目标区域一样大,设置任意模式的效果是一样的。
1. CLAMP: 如果图片小于目标区域,则用该图片的边缘颜色继续填充剩余空间。
2. REPEAT(重复): 如果图片小于目标区域,则复制该图片继续填充剩余空间。
3. MIRROR(镜像): 如果图片小于目标区域,则从图片边缘按和图片上原本颜色相反的颜色来填充剩余空间。
Shader子类解释:Shader的子类全部都没有自己定义的方法,纯粹靠各自的 构造方法 实现效果,所以下面的描述基本只注重于构造方法。所有的Shader子类的使用方法都一样: 给自己的Paint设置这个属性(mPaint.setShader(XXXX)),传入自己建立的Shader,然后使用Canvas画出来即可。注:为了观察清晰起见,我画出的图片和目标区域是一样大的,也就不存在渲染模式的问题了,故渲染模式都采用CLAMP。
附录原文链接: https://blog.csdn.net/ShortChin/article/details/51655082
img.setBackgroundColor(Color.WHITE)//设置ImageView背景为白色Bitmap除非重绘才能改变背景,png图片改了后缀就不是透明的了
此方法是根据int[] colors色素组创建Bitmap,你可以到这里看一下:http://blog.csdn.net/gaomatrix/article/details/6532468欢迎分享,转载请注明来源:内存溢出
评论列表(0条)