Android中渐变图片失真的解决方案

Posted 星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中渐变图片失真的解决方案相关的知识,希望对你有一定的参考价值。

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中渐变图片失真的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

php 合并图片及图片失真的解决办法

Word中解决图片失真的办法

小程序图片失真解决办法

解决word转pdf后图片失真

Android手机图片适配问题

Android自定义控件