2013-02-08 63 views
0

是否爲canvas.drawBitmap的Android文檔有誤?它說:Android canvas.drawBitmap文檔錯了嗎?

公共無效drawBitmap(位圖位圖,左浮動,浮動頂部,油漆塗料)

繪製指定的位圖,與(X,Y)的頂/左側角球,使用指定的繪畫,由當前矩陣轉換。

那麼,x和y似乎不是浮動,他們是整數;那是對的嗎? 假設我想覆蓋整個可用屏幕上的位圖(這是可用屏幕的大小,並綁定到相同的畫布)。這似乎是明智的,我會: canvas.drawBitmap(myBitmap, 0, 0, mPaint); 不是嗎? 但這並不奏效。看起來工作的是: canvas.drawBitmap(myBitmap, 2000000, 1000000, mPaint)。 現在,我認爲這一說法告訴位圖,它應該畫一個巨大的距離 屏幕之外!我在這裏錯過了什麼?

+0

Android文檔是正確的,(0,0)是屏幕的左上角。你能用你的代碼編輯你的問題嗎? – NaviRamyle

+0

「由當前矩陣轉換」,您是否檢查以確保在您的畫布矩陣中沒有翻譯? – iagreen

回答

1

在這種方法中,xy是漂浮物,而不是整數。但正如文檔中提到的那樣,位圖的xy座標將受當前在Canvas上設置的矩陣影響。例如,在ScrollView的情況下,該矩陣可能包含非常大的翻譯。

這意味着座標0, 0將在Canvas的當前原點處繪製位圖。該起源由矩陣定義,您可以使用getMatrix()查詢。

+0

我已將代碼更改爲:canvas.drawBitmap(mCalculationBitmap, 0.0f, 0.0f, mPaint);。整體行爲有所改善。還有一段路要走。我會回來的。謝謝。 – BinCodinLong

+0

@Romain Guy嗨,先生,如何使用矩陣變換將圖像比原始尺寸縮放... – Pragnani