在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倍,所以不好,而且把手机拿近了看会看到图片有明显的杂色,所以不到万不得已最好不用。
分享:

 
 

最新文章

  1. am335x 电容屏驱动添加。
  2. <开心一笑> 前端工程师你们伤不起!
  3. AspxGridView
  4. Struts2的crud
  5. Android点击Button实现功能的几种方法
  6. log4net保存到数据库系列四、完整代码配置log4net
  7. mysql5.7版本无法启动服务问题
  8. MQ学习(二)----ActiveMQ简介(转)
  9. DM6446开发攻略——u-boot-1.3.4移植(1)
  10. rsync服务器的搭建
  11. LCD接口和RGB介绍
  12. require './ex25' can't load such file
  13. .NET面试题系列(十八)常用关键字
  14. C# Winform 登录中的忘记密码及自动登录
  15. HDFS高级功能
  16. js中的深层复制
  17. hdu-1698(线段树,区间修改)
  18. CentOS7安装后连不上网络无法使用yum
  19. Taints和Tolerations
  20. asp.net曲线图

热门文章

  1. 获取显示屏的个数和分辨率 --- 通过使用OpenGL的GLFW库
  2. 12、geo数据上传
  3. Entity Framework Code-First(5):Code First Conventions
  4. charles解决相应乱码问题
  5. [转载]Java程序员掌握的10大项知识体系--精通太难说出口
  6. python之02数据类型学习-作业练习
  7. C 语言实例 - 实现简单的计算器
  8. UIScrollView嵌套滑动手势冲突的简易实现
  9. 求最短路径(Bellman-Ford算法与Dijkstra算法)
  10. JavaScript刷新页面,不重复提交