关于“Android圆角图片”,网上可以搜索到大把代码示例。而这些示例千篇一律过于单一,且对内存性能没有进行较好分析本文将总结网上流行的几种圆角图片方案,进行性能与内存的分析,并得出最佳方案。(PS:本人初出江湖,高手勿喷)。
基础脑补:
位图:256位对比32位,存储信息量大但是占用内存也大, 图像质量较高。
ARGB:A=Alpha, R=Red, G=Green,B=Blue
ARGB_8888:8888意味着它们都用8个位来显示,32位的位图。
ARGB_4444:逻辑同上,16位的位图。
RGB_565:逻辑同上,16位的位图。
ALPHA_8:用8个位来表示透明度,8位的位图。
圆角方案一: PortrDuffXfermode 拷贝Bitmap
代码:
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;