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)進(jìn)行實(shí)例化。這將以指定的平移從源圖像創(chuàng)建一個位圖對象,并對該位圖對象的大小進(jìn)行縮放
另一種圖像編輯或處理的形式是必須處理像素自身顏色值的變化。這將使得我們能夠改變對比度、亮度、整體色調(diào)等。
3.4.1 ColorMatrix
類似于在Canvas對象上繪制時使用Matrix對象的方法,也可以使用一個ColorMatrix對象來改變用于在Canvas對象上繪制的Paint對象。
同樣,ColorMatrix以類似的方式工作。它是一個數(shù)字?jǐn)?shù)組,可以對圖像的像素進(jìn)行操作。然而不同于操作x、y和z坐標(biāo),它操作顏色值——每個像素的Red(紅)、Green(綠)、Blue(藍(lán))和Alpha值。
通過調(diào)用其沒有任何參數(shù)的構(gòu)造函數(shù),我們可以構(gòu)建一個默認(rèn)的ColorMatrix對象。
ColorMatrix cm = new ColorMatrix();
使用ColorMatrix對象構(gòu)建一個ColorMatrixColorFilter對象,并將它應(yīng)用于Paint對象,從而使得這個ColorMatrix對象可用來改變Canvas對象上的繪制內(nèi)容。