2011-12-13 120 views
3

我有一張圖像,其目的是作爲填充整個屏幕的背景圖像。我遇到的問題是手機上顯示的圖像比原始圖像質量差得多。我將圖片保存爲320x480 jpg圖片,因爲我手機的顯示分辨率也是320x480,所以它與圖片大小無關。安卓繪圖位圖質量低於原始圖像

這是我看到的圖片。左邊是我的桌面上打開的圖像,右邊是從我的android手機拍攝的截圖。

http://imgur.com/4VwkC

在手機上的圖像質量可以通過添加抖動加以改進,但仍不理想。我正在努力理解發生了什麼。看起來好像圖像的保真度降低了。這幾乎就好像圖像是以RGB_565格式繪製的,即使手機具有16m色彩並且應該能夠很好地顯示圖像

回答

0

很多人有similar problems漸變。嘗試把這個在你的活動:

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 
    Window window = getWindow(); 
    window.setFormat(PixelFormat.RGBA_8888); 
} 
+0

嗯我試過這個,但它似乎並沒有工作。謝謝 – user1095142

+0

我覺得這個答案已經足夠接近了。我設法通過在'SurfaceView'類的'onSurfaceChanged(SurfaceHolder持有者)'方法中添加holder.setFormat(PixelFormat.RGBA_8888)來解決這個問題。我也許應該提到我使用了SurfaceView來繪製圖像。據我所知,默認行爲是加載/修改RGBA_8888模式下的位圖。但是,默認情況下,它們最終會以16位顏色深度而不是24畫到屏幕上。即使設備支持24位顏色。奇怪。 – user1095142

+0

我在SurfaceView上繪製位圖時遇到了類似的問題,當調整圖片質量下降時,如果我使用canvas.scale調整大小,或者在我的canvas.drawbitmap方法中使用目標矩形,則會發生這種情況。 setFormat(PixelFormat.RGBA_8888)到onSurfaceChange(SurfaceHolder持有者)方法,但這隻會導致我的應用程序崩潰。有任何想法嗎? – tantonj

0

什麼目錄包含您的圖像?

你應該小心密度。 例如,如果屏幕密度較低,並且將圖像放到drawable-mdpi中,即使其尺寸與屏幕一樣大小,它也會模糊不清。

嘗試將圖像置於drawable-nodpi。

+0

我有它在'/ drawable'我試着移動它周圍的不同的文件夾,並在'-nodpi'但仍然沒有改變 – user1095142

+0

圖像瀏覽器顯示像桌面映像? 你的手機是什麼?許多設備僅具有262144種顏色的顯示能力,而不是1600萬。 – HighFlyer

+0

這個Ace有16m,但屏幕密度只有165 PPI,可能是這個原因 –

0

這可能是jpg壓縮的結果,這是有損的,這意味着您每次將它保存爲jpg時都會失去質量,請嘗試使用png代替。

+0

感謝您的輸入。我試過jpgs,png,bmps各種各樣。還有同樣的問題 – user1095142

+0

什麼電話呢? –

+0

三星Galaxy Ace王牌GT S8530 – user1095142