0
我正在製作一款模仿經典遊戲的應用。所以我需要渲染一些像素藝術。Android Pixel Art Rendering on Canvas
我有一個100x100位圖作爲緩衝區,並且我沒有任何困難地在緩衝區上繪製所有東西。
當我嘗試在480x480畫布上渲染它時,出現這個問題。
Bitmap.createScaledBitmap會給我一個模糊的位圖,所以我使用下面的代碼來清除「塊(放大像素)」之間的代碼。
float scale = getWidth()/100f;
for(int y = 0 ; y < getHeight() ; y++){
for(int x = 0 ; x < getWidth() ; x++){
buffer2.setPixel(x, y, buffer.getPixel((int)(x/scale), (int)(y/scale)));
}
}
該代碼工作得很好,做了我想要的。但是性能非常差(需要300多ms)。所以我寫信詢問是否有更好的出路。謝謝。
它的工作原理!之前不知道setPixels。謝謝你給我一個寶貴的教訓! 對於那些有同樣問題的人: 同時使用getPixels而不是getPixel。 – Raytheon