一.对图像的本质性分析
1.1.抛出问题
我们学习用各种工具改变一张图片,如PS,美图秀秀等图像处理工具,但是这些软件是怎样实现对图片的更改呢,换句话说,我们怎样用代码更改一个图片的外观呢,再者,为什么会改变呢。
2.2本质分析
我们生活中所见的RGB电子图片的色彩,其实是由一个二维矩阵控制的。
我们可以看到,用一个4*5的矩阵乘以颜色矩阵分量,就可以分别得到对应的R,G,B,A,从而调节图片的色彩。
于是,我们通过更改矩阵的值,就可以更改图片的颜色。(至于通过颜色矩阵来计算RGBA和对图片的颜色进行更改,这写都是大牛们的事情了,我们只负责调用接口就好。)
二. 通过颜色矩阵更改图片的色彩
下面我们通过一个Demo来实现通过颜色矩阵更改图片的色彩;
开篇,先试一下效果:
于是我们新建了一个布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
//要更改的图片
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="2" />
//我们会在代码中向GridLayout中添加20个EditText来得到一个颜色矩阵
<GridLayout
android:id="@+id/group"
android:layout_