版权声明:本文为博主原创文章,未经博主允许不得转载。

1.修改色相、饱和度、亮度

参看:http://blog.csdn.NET/sjf0115/article/details/7267063

2.使用透明度通道,获取图片轮廓

参看:http://blog.csdn.Net/liu2604592/article/details/7759168

方法:

  1. //提取图像Alpha位图
  2. public static Bitmap getAlphaBitmap(Bitmap mBitmap,int mColor) {
  3. //          BitmapDrawable mBitmapDrawable = (BitmapDrawable) mContext.getResources().getDrawable(R.drawable.enemy_infantry_ninja);
  4. //          Bitmap mBitmap = mBitmapDrawable.getBitmap();
  5. //BitmapDrawable的getIntrinsicWidth()方法,Bitmap的getWidth()方法
  6. //注意这两个方法的区别
  7. //Bitmap mAlphaBitmap = Bitmap.createBitmap(mBitmapDrawable.getIntrinsicWidth(), mBitmapDrawable.getIntrinsicHeight(), Config.ARGB_8888);
  8. Bitmap mAlphaBitmap = Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHeight(), Config.ARGB_8888);
  9. Canvas mCanvas = new Canvas(mAlphaBitmap);
  10. Paint mPaint = new Paint();
  11. mPaint.setColor(mColor);
  12. //从原位图中提取只包含alpha的位图
  13. Bitmap alphaBitmap = mBitmap.extractAlpha();
  14. //在画布上(mAlphaBitmap)绘制alpha位图
  15. mCanvas.drawBitmap(alphaBitmap, 0, 0, mPaint);
  16. return mAlphaBitmap;
  17. }

deviceIV.setDrawingCacheEnabled(true);
        deviceBmp = deviceIV.getDrawingCache();

时常会出现null,原因是超出系统提供最大的DrawingCache值,所以要在此代码前添加如下代码:

deviceIV.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        deviceIV.layout(0, 0, deviceIV.getMeasuredWidth(), deviceIV.getMeasuredHeight());

3.修改图片像素点的色值,动态修改图片

参看:http://blog.csdn.net/xys289187120/article/details/6580777

Android动态修改图片颜色的实现方式分析的更多相关文章

  1. echarts系列之动态修改柱状图颜色

    echarts根据某一变量动态修改柱状图颜色 1.option中参数配置项series { "name":"Android", "type" ...

  2. WPF 修改图片颜色

    原文:WPF 修改图片颜色 本文告诉大家如何修改图片的颜色,如去掉图片的蓝色 在 WPF 可以使用很多图片处理的方法,本文告诉大家的是一个图片处理,可以把处理的图片保存在文件. 在阅读本文,我假设大家 ...

  3. Android动态修改ToolBar的Menu菜单

    Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了. 开始上货 Menu Me ...

  4. ReactNative 根据scrollView/listview滑动距离动态修改NavBar颜色

    我们常见某些APP上滑的时候,NavBar颜色会从透明渐变为某种颜色 原理非常简单,根据scrollView的回调动态修改NavBar的透明度即可. 在RN中,尤其是ListView中这个回调不是很好 ...

  5. Android NumberPicker 修改分割线颜色和高度及字体颜色大小

    (1)重写NumberPicker已达到修改显示字体颜色大小 public class TextColorNumberPicker extends NumberPicker { public Text ...

  6. xml代码修改图片颜色

    <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http ...

  7. Wordpress编辑器(Tinymce)在Chrome中动态修改图片大小

    Chrome不支持tinymce中图片动态修改大小,可以在theme的functions.php中加入下面代码在Tinymce中模拟这一功能: function tinymce_editor_sett ...

  8. android 通过修改图片像素实现CircleImageView

    CircleImageView实现方法有很多种,各有优缺点,因此需要按照不同的场景使用.我们今天使用修改图片像素的方法实现CircleImageView,主要知识点无非是勾股定理和点到圆形的距离. 素 ...

  9. android studio - 修改logcat颜色字体

     修改logcat 颜色 (1) 在Android Studio 菜单栏 打开 Preferences -> Editer -> Colors & Fonts -> Andr ...

随机推荐

  1. mahout的特性(三)

    mahout的特性 虽然在开源领域中相对较为年轻,但 Mahout 已经提供了大量功能,特别是在集群和CF 方面. Mahout 的主要特性包括: Taste CF.Taste 是 Sean Owen ...

  2. vue中watch函数的用法

    vue中watch函数: 不仅可以判断路由变化(上篇博客有介绍),还可以判断数据的变化 (1):首先写watch函数 (2):在data里定义值 (3):在methods里写方法 (4):使用值

  3. 【例题 8-4 UVA - 11134】Fabled Rooks

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然把问题分解成两个子问题. x轴和y轴分别做. 即n个点要求第i个点在[li,ri]范围内.(ri<=n) 问是否可行. 按 ...

  4. 【2017"百度之星"程序设计大赛 - 初赛(B)】Chess

    [链接]http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=776&pid=1001 [题意] 在这里写题意 [题 ...

  5. geotools修改shapefile 属性名乱码问题

    在GeoServer中文社区的讨论地址为:http://opengeo.cn/bbs/read.php?tid=1701&page=e&#a 使用geotools修改shapefile ...

  6. ASP.Net MVC Filter验证用户登录

    一.Filter是什么 ASP.NetMVC模式自带的过滤器Filter,是一种声明式编程方式,支持四种过滤器类型,各自是:Authorization(授权),Action(行为),Result(结果 ...

  7. Nginx日志优化

    一 日志轮训切割 [root@centos7 tools]# cat nginx_log.sh #!/bin/bash cd /var/log/nginx/ &&\ /bin/mv a ...

  8. 微信支付v2开发(9) 标记客户投诉处理状态

    本文介绍微信支付中如何标记客户投诉的处理状态. 一.API Api 的 url 为: https://api.weixin.qq.com/payfeedback/update?access_token ...

  9. JQ的核心原理以及扩展等

    jQuery核心原理 定义原型扩展和工具包扩展的方法 JQ的API中文速查: http://jquery.cuishifeng.cn/ JQ的原理:http://www.cnblogs.com/Sca ...

  10. [React] Style the body element with styled-components and "injectGlobal"

    In this lesson, we see how we can apply styles globally with the "injectGlobal" helper met ...