我有一張圖像,其目的是作爲填充整個屏幕的背景圖像。我遇到的問題是手機上顯示的圖像比原始圖像質量差得多。我將圖片保存爲320x480 jpg圖片,因爲我手機的顯示分辨率也是320x480,所以它與圖片大小無關。安卓繪圖位圖質量低於原始圖像
這是我看到的圖片。左邊是我的桌面上打開的圖像,右邊是從我的android手機拍攝的截圖。
在手機上的圖像質量可以通過添加抖動加以改進,但仍不理想。我正在努力理解發生了什麼。看起來好像圖像的保真度降低了。這幾乎就好像圖像是以RGB_565格式繪製的,即使手機具有16m色彩並且應該能夠很好地顯示圖像
嗯我試過這個,但它似乎並沒有工作。謝謝 – user1095142
我覺得這個答案已經足夠接近了。我設法通過在'SurfaceView'類的'onSurfaceChanged(SurfaceHolder持有者)'方法中添加holder.setFormat(PixelFormat.RGBA_8888)來解決這個問題。我也許應該提到我使用了SurfaceView來繪製圖像。據我所知,默認行爲是加載/修改RGBA_8888模式下的位圖。但是,默認情況下,它們最終會以16位顏色深度而不是24畫到屏幕上。即使設備支持24位顏色。奇怪。 – user1095142
我在SurfaceView上繪製位圖時遇到了類似的問題,當調整圖片質量下降時,如果我使用canvas.scale調整大小,或者在我的canvas.drawbitmap方法中使用目標矩形,則會發生這種情況。 setFormat(PixelFormat.RGBA_8888)到onSurfaceChange(SurfaceHolder持有者)方法,但這隻會導致我的應用程序崩潰。有任何想法嗎? – tantonj