正文

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

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


當在畫布上繪制一張位圖時,可以使用該Matrix對象。

canvas.drawBitmap(bmp, matrix, paint);

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

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

.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坐標也受源圖像的y坐標影響,那么可以修改第二個數(shù)字。結果如圖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 ? 讀書網 www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號