Android 3d TOS Launcher 之桌面图标主题加框规格化
来源:互联网 发布:阿里巴巴php招聘 编辑:程序博客网 时间:2024/06/06 10:01
//图标缩放比例 public static float iconScaleRadio=1f; private static Canvas mCanvas=new Canvas(); private static Paint mPaint = new Paint(); public synchronized Bitmap markIconTheme(Bitmap original) { try { initMarkIcons(); if (original != null&&mCanvas!=null) { Bitmap resultBmp = Bitmap.createBitmap(IconConfig.iconSize, IconConfig.iconSize, Bitmap.Config.ARGB_8888); mPaint.setAntiAlias(true); mCanvas.setBitmap(resultBmp); //------sep1---- 画背景 mPaint.setXfermode(null); mCanvas.drawBitmap(icon_background, 0, 0, null); //-----sep2 --------icon mask 需要重新建立新的图层来交集图片 int sc = mCanvas.saveLayer(0,0, IconConfig.iconSize, IconConfig.iconSize, null, Canvas.MATRIX_SAVE_FLAG | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG | Canvas.FULL_COLOR_LAYER_SAVE_FLAG | Canvas.CLIP_TO_LAYER_SAVE_FLAG); mCanvas.drawBitmap(icon_mask, 0, 0, mPaint); mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); //绘制居中图片 if (resultBmp.getWidth() > original.getWidth()) { int offset = (resultBmp.getWidth() - original.getWidth()) / 2; mCanvas.translate(offset, offset); mCanvas.drawBitmap(original, 0, 0, mPaint); mCanvas.translate(-offset, -offset); } else { mCanvas.drawBitmap(original, 0, 0, mPaint); } mPaint.setXfermode(null); mCanvas.restoreToCount(sc); //------sep3---- 画金属框 mCanvas.drawBitmap(icon_border, 0, 0, mPaint); //end if (original != null && !original.isRecycled()) { original.recycle(); original = null; } return resultBmp; } } catch (Exception e) { if(mCanvas!=null) mCanvas.setBitmap(null); } finally { } return null; }
0 0
- Android 3d TOS Launcher 之桌面图标主题加框规格化
- Android Launcher研究之桌面图标重命名
- Android之在launcher里面动态加载桌面图标
- Android Launcher桌面图标显示数字
- Android Launcher桌面图标显示数字
- Android Launcher 之 图标加框 优化显示效果
- Android Launcher桌面图标的加载和存储
- Android Launcher桌面图标的加载和存储
- Android 5.0 Launcher客制化定制之 主题包协议(MIUI主题、乐蛙主题兼容)
- Android 5.0 Launcher客制化定制之 主题选择器
- Android Launcher中桌面图标的加载和存储
- Android 轻松打造一个APP动态切换桌面图标Launcher
- Launcher桌面图标开发
- Android Launcher桌面3D实现和原理分析
- Android之动态更换桌面图标
- Android之Launcher
- vb.net实现桌面图标3D翻滚
- Android launcher之总体分析
- 由烦到简 解析复杂的typedef声明
- 字符串 KMP入门,讲解
- ViewPager 入门到精通(一)
- 【Leetcode】Linked List Random Node
- 大数据培训又开课了
- Android 3d TOS Launcher 之桌面图标主题加框规格化
- poj 1410 Intersection 线段与矩形的关系
- Material Designer的低版本兼容实现—— ActivityOptionsCompat
- 谈谈Processing 3D世界 四
- 三个命令解决ASTGO服务器重启后各种问题
- bzoj 2038 [2009国家集训队]小Z的袜子(hose)
- SQL 常用语句 DDL,DML,DCL
- Mutex的lock(), unlock(), tryLock()函数介绍
- 关于Excel导入导出的总结(JXL)