正文

基本的图像缩放和旋转(6)

Android多媒体开发高级编程 作者:(美)艾佛瑞


Matrix matrix = new Matrix();

matrix.setRotate(15,bmp.getWidth()/2,bmp.getHeight()/2);

alteredBitmap = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), 

  bmp.getHeight(), matrix, false);

alteredImageView.setImageBitmap(alteredBitmap);

我们以相同的方式处理矩阵,但是使用初始的位图对象(bmp)作为源图像,并将它传入Matrix对象,对第二个位图对象(alteredBitmap)进行实例化。这将以指定的平移从源图像创建一个位图对象,并对该位图对象的大小进行缩放

另一种图像编辑或处理的形式是必须处理像素自身颜色值的变化。这将使得我们能够改变对比度、亮度、整体色调等。

3.4.1  ColorMatrix

类似于在Canvas对象上绘制时使用Matrix对象的方法,也可以使用一个ColorMatrix对象来改变用于在Canvas对象上绘制的Paint对象。

同样,ColorMatrix以类似的方式工作。它是一个数字数组,可以对图像的像素进行操作。然而不同于操作x、y和z坐标,它操作颜色值——每个像素的Red(红)、Green(绿)、Blue(蓝)和Alpha值。

通过调用其没有任何参数的构造函数,我们可以构建一个默认的ColorMatrix对象。

ColorMatrix cm = new ColorMatrix();

使用ColorMatrix对象构建一个ColorMatrixColorFilter对象,并将它应用于Paint对象,从而使得这个ColorMatrix对象可用来改变Canvas对象上的绘制内容。


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号