Android中漸變圖片失真的解決方案
阿新 • • 發佈:2018-07-09
png 體積 div 利用 出現 情況 子類 ont 如果 在android開發(尤其是android遊戲開發)中有一個很嚴重的問題就是帶有漸變效果的png圖片會出現嚴重的banding(色帶),鑒於這種情況,有幾種可行的解決方法:
1.如果Activity裏面的onCreate()方法裏面的setContentView()的參數是xml布局文件(類似R.layout.main),則可在Activity的onCreate()裏面的setContentView()之前加上一行代碼:
getWindow().setFormat(PixelFormat.RGBA_8888);
Problem solved;
2.如果Activity裏面的onCreate()方法裏面的setContentView()的參數是一個SurfaceView的子類,這種情況下第一種方法就不行了,此時需要在SurfaceView的子類的Constructor(構造器)裏面加上一行代碼:
getHolder().setFormat(PixelFormat.RGBA_8888);
Problem solved;
3.人為的在自己的png圖片上利用photoshop的 濾鏡-雜色-添加雜色 給png圖片加上noise(噪聲或雜色),一般數量取值0.5%即可,這樣處理過的圖片,即使在程序中沒有經過前2種方法處理,圖片也不會有banding,但是添加了noise的圖片體積會比原來大至少4倍,所以不好,而且把手機拿近了看會看到圖片有明顯的雜色,所以不到萬不得已最好不用。
分享:
Android中漸變圖片失真的解決方案