正文

基本的圖像縮放和旋轉(zhuǎn)(6)

Android多媒體開(kāi)發(fā)高級(jí)編程 作者:(美)艾佛瑞


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);

我們以相同的方式處理矩陣,但是使用初始的位圖對(duì)象(bmp)作為源圖像,并將它傳入Matrix對(duì)象,對(duì)第二個(gè)位圖對(duì)象(alteredBitmap)進(jìn)行實(shí)例化。這將以指定的平移從源圖像創(chuàng)建一個(gè)位圖對(duì)象,并對(duì)該位圖對(duì)象的大小進(jìn)行縮放

另一種圖像編輯或處理的形式是必須處理像素自身顏色值的變化。這將使得我們能夠改變對(duì)比度、亮度、整體色調(diào)等。

3.4.1  ColorMatrix

類(lèi)似于在Canvas對(duì)象上繪制時(shí)使用Matrix對(duì)象的方法,也可以使用一個(gè)ColorMatrix對(duì)象來(lái)改變用于在Canvas對(duì)象上繪制的Paint對(duì)象。

同樣,ColorMatrix以類(lèi)似的方式工作。它是一個(gè)數(shù)字?jǐn)?shù)組,可以對(duì)圖像的像素進(jìn)行操作。然而不同于操作x、y和z坐標(biāo),它操作顏色值——每個(gè)像素的Red(紅)、Green(綠)、Blue(藍(lán))和Alpha值。

通過(guò)調(diào)用其沒(méi)有任何參數(shù)的構(gòu)造函數(shù),我們可以構(gòu)建一個(gè)默認(rèn)的ColorMatrix對(duì)象。

ColorMatrix cm = new ColorMatrix();

使用ColorMatrix對(duì)象構(gòu)建一個(gè)ColorMatrixColorFilter對(duì)象,并將它應(yīng)用于Paint對(duì)象,從而使得這個(gè)ColorMatrix對(duì)象可用來(lái)改變Canvas對(duì)象上的繪制內(nèi)容。


上一章目錄下一章

Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)