最近一边找工作一边完善之前的项目。之前安卓初中级的项目是模仿酷狗音乐播放器的。下载一个apk文件,改后缀,解压,然后根据官方应用的布局,用得到的图片照着做出来。记得酷狗首页有好几种主要图标,解压后得到的白色加透明组合成的,但官方应用是换主题颜色会跟着改变,这回正好有空就网上找来方法跟着改。

因为只是把白色改成别的颜色,所以不难。

package com.example.ex_tupian;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;public class MainActivity extends Activity {private ImageView ma;private Bitmap bitmap, updateBitmap;  private Canvas canvas;  private Paint paint;  @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ma = (ImageView) findViewById(R.id.p_w_picpathView00);bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.d1);  updateBitmap = Bitmap.createBitmap(bitmap.getWidth(),  bitmap.getHeight(), bitmap.getConfig());  canvas = new Canvas(updateBitmap);  paint = new Paint(Paint.ANTI_ALIAS_FLAG);//抗锯齿的画笔  final ColorMatrix cm = new ColorMatrix();  paint.setColorFilter(new ColorMatrixColorFilter(cm));  paint.setColor(Color.BLACK);  paint.setAntiAlias(true);  final Matrix matrix = new Matrix();  canvas.drawBitmap(bitmap, matrix, paint);  ma.setImageBitmap(updateBitmap);  findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcm.set(new float[] { 160 / 128f, 0, 0, 0, 0,// 红色值  0, 32 / 128f, 0, 0, 0,// 绿色值  0, 0, 240 / 128f, 0, 0,// 蓝色值  0, 0, 0, 1, 0 // 透明度  });  paint.setColorFilter(new ColorMatrixColorFilter(cm));  canvas.drawBitmap(bitmap, matrix, paint);  ma.setImageBitmap(updateBitmap);  }});}
}

主要就是这个在设置颜色

new float[] { 160 / 128f, 0, 0, 0, 0,// 红色值

0, 32 / 128f, 0, 0, 0,// 绿色值

0, 0, 240 / 128f, 0, 0,// 蓝色值

0, 0, 0, 1, 0 // 透明度

}

这样设置起来的是紫色的,这只是很简单的转换,能达到效果,如果需要更多的内容,可以参考这些网址或者自己搜索。

http://blog.csdn.net/loongggdroid/article/details/18708911

http://www.cnblogs.com/leon19870907/articles/1978065.html

然后一个就是因为平时都直接用8位十六进制设置颜色,这边需要RGB,所以参考这个网址

http://blog.csdn.net/yanzi1225627/article/details/8581270

转载于:https://blog.51cto.com/qq445493481/1626006

Android程序如何在代码中改变图片原有的颜色相关推荐

  1. Android开发——Java代码动态改变图片颜色

    前言 在Android开发当中,我们会遇到多张图片需要改变背景颜色,我们不能用代码写死,但是我们setBackgroundColor方法改变是会被把我们背景变成直角的,但是从用户体验感的角度来讲是带有 ...

  2. Android如何在java代码中设置margin

    Android如何在java代码中设置margin,也就是组件与组件之间的间距. 代码中设置: LinearLayout.LayoutParams params = new LinearLayout. ...

  3. 新手零基础:飞桨代码中关于图片路径读取和资源解压报错

    #飞桨代码中关于图片路径读取和资源解压报错 1.路径读取 在进行路径图片读取时,不同版本的python的os模块在路径拼接时会报错,一般情况下os.path.join(path,name),是可以将路 ...

  4. java程序阅读题6,阅读以下说明和java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对 - 信管网...

    阅读以下说明和Java程序,填补代码中的空缺(1)-(6),将解答填入答题纸的对应栏内. [说明] 很多依托扑克牌进行的游戏都要先洗牌.下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张 ...

  5. MDK AC6 不支持在代码中改变优化等级

    MDK AC6 不支持在代码中改变优化等级 MDK AC6 不支持在代码中改变优化等级 MDK AC6 不支持在代码中改变优化等级 armclang does not support changing ...

  6. ctf图片隐写中改变图片高和宽

    ctf图片隐写中改变图片高和宽 利用工具 Hex Editor Neo将图片进行十六进制分解, 然后我们可以找出该图片的像素高宽,转化成十六进制然后对应找到该像素点所在位置,进行修改即可.

  7. python二维图颜色函数_通过python改变图片特定区域的颜色详解

    通过python改变图片特定区域的颜色详解 首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的 ...

  8. Android 如何从系统图库中选择图片

     这几天我都在做Android的App,同时学习它的API,我将分享一些我学到的东西,比如: 如何从系统图库中选择图片. 首先,让我们来看看如何将手机系统图库集成到你的App中,然后再从图库中选择 ...

  9. Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18730223),请尊重他人的辛勤劳动成果,谢谢! 写这篇文 ...

最新文章

  1. mac版python连接mysql_Mac下Python连接MySQL · BlBana’s BlackHouse
  2. python的实现和测试是啥意思_Python接口自动化测试之pytest与unittest区别
  3. algorithm头文件下的常用函数
  4. 任何时候,写下一个类,一定要有三个函数
  5. Python数据清洗 - 洗什么?怎么洗?看完就明白了
  6. 如何重构千行“又臭又长”的类,IntelliJ IDEA 几分钟搞定!
  7. oracle外部结合,浅谈Oracle外部文件
  8. 在PHP中使用协程实现多任务调度
  9. 软考高级系统分析师上午历年真题
  10. 专利局文件如何删除后面的注意事项
  11. 4-18快速生成get和set方法、格式化代码、数组的非空验证、订餐系统案例
  12. 一文搞懂 Flink如何移动计算
  13. “诗词吾爱”第38期擂台赛《伤春、惜春》获胜作品欣赏【转载】
  14. WPF界面美化(整体作用到控件),一步步教你使用FirstFloor.ModernUI
  15. 华为开发者大赛-昇腾AI初创大赛决赛暨星火计划Online第二期来啦!
  16. Celery (1)- 安装配置及使用
  17. OpenCV imwrite保存图片全黑原因
  18. 使用 Cipher CipherInputStream CipherOutputStream 实现对文件的加解密
  19. qt之QLabel图片自适应
  20. Flask 和 Django 的比较和选择

热门文章

  1. java编辑简单文本编辑器_简单的Java纯文本编辑器
  2. 无穷级数求和7个公式_双色球2019129期渗透围红蓝(6+1实战,附:7个双色球胆码公式)...
  3. Mysql常用词汇_mysql 数据库常用单词
  4. Java项目:零食商城系统(java+SSM+jsp+MySQL+EasyUI)
  5. java bean配置文件_Spring中多配置文件及引用其他bean的方式
  6. redis mysql查询数据类型_linux 常见的标识与Redis数据库详解
  7. prometheus--初见
  8. HTML上传excel文件,php解析逐条打印输出
  9. web架构之mysql服务器
  10. Node.js的url模块简介