我目前正在開發我的第一個Android應用程序,並且在渲染圖像時出現了一些問題。圖像本身質量很好,但是渲染質量會大大降低。邊緣變得鋸齒狀,看起來效果很差。到目前爲止,我所展示的每個人都幾乎立即注意到它,沒有任何提示。 [左,月底開始在右邊:]在Android上呈現的圖像上的鋸齒狀邊緣
http://i.stack.imgur.com/gld5A.png
我想一切我所知道的和每一個提示,我已經能夠通過四處尋找網上找到,但似乎沒有任何解決它。
目前,我得到的圖像作爲位圖,它的規模:
Bitmap holeImage = BitmapFactory.decodeResource(res, R.drawable.hole_image);
Bitmap holeImageBMP = Bitmap.createScaledBitmap(holeImage, width, height, true);
一旦我的形象,我創建了一個油漆,設置一些平滑屬性爲true,然後畫在畫布上:
Paint smoothingPaint = new Paint();
smoothingPaint.setAntiAlias(true);
smoothingPaint.setFilterBitmap(true);
smoothingPaint.setDither(true);
canvas.drawBitmap(holeImageBMP, 0, 0, smoothingPaint);
然而,正如你可以明顯看到上述,圖像質量急劇下降。我看到很多圖像被渲染得很漂亮,而且我真的不知道發生了什麼,所以任何建議都會很棒!
其他說明:我正在使用SurfaceView方法來處理圖形,與SDK中給出的LunarLander示例的性質類似。
再次感謝!
我已經嘗試過了,它並沒有真正的區別。我承認它存在的唯一原因是因爲另一個stackoverflow.com線程中的某個人提出了這個問題:P我欣賞這個想法!真的有什麼想法是有幫助的。 – 2011-01-10 19:20:18
好的,我認爲佩德羅的答案在這種情況下更有幫助。我還沒有對Android做任何事情,所以我不知道有抖動/帶狀問題,只是給出了與圖形相關的答案。 – schnaader 2011-01-10 19:24:04