正文

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

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


當(dāng)在畫布上繪制一張位圖時(shí),可以使用該Matrix對(duì)象。

canvas.drawBitmap(bmp, matrix, paint);

這將代替之前示例中使用的drawBitmap方法。

為了使得Matrix對(duì)象以某種方式更改圖像,可以用不同的值替換任何一個(gè)現(xiàn)有的數(shù)字。如果將第一個(gè)數(shù)字從1改為.5,那么將在x軸上將圖像壓縮50%,如圖3-5所示。第一個(gè)數(shù)字會(huì)作用于源圖像的x坐標(biāo),從而影響結(jié)果圖像的x坐標(biāo)。

.5 0 0

0 1 0

0 0 1

Matrix matrix = new Matrix();

matrix.setValues(new float[] {

     .5f, 0, 0,

     0, 1, 0,

     0, 0, 1 

});

canvas.drawBitmap(bmp, matrix, paint);

如果改變矩陣,使x坐標(biāo)也受源圖像的y坐標(biāo)影響,那么可以修改第二個(gè)數(shù)字。結(jié)果如圖3-6所示。

Matrix matrix = new Matrix();

matrix.setValues(new float[] {

     1, .5f, 0,

     0, 1, 0,

     0, 0, 1 

});

canvas.drawBitmap(bmp, matrix, paint);


上一章目錄下一章

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