Android中渐变图片失真的解决方案
2024-08-27 23:46:32
在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倍,所以不好,而且把手机拿近了看会看到图片有明显的杂色,所以不到万不得已最好不用。
分享:
最新文章
- am335x 电容屏驱动添加。
- <;开心一笑>; 前端工程师你们伤不起!
- AspxGridView
- Struts2的crud
- Android点击Button实现功能的几种方法
- log4net保存到数据库系列四、完整代码配置log4net
- mysql5.7版本无法启动服务问题
- MQ学习(二)----ActiveMQ简介(转)
- DM6446开发攻略——u-boot-1.3.4移植(1)
- rsync服务器的搭建
- LCD接口和RGB介绍
- require &#39;./ex25&#39; can&#39;t load such file
- .NET面试题系列(十八)常用关键字
- C# Winform 登录中的忘记密码及自动登录
- HDFS高级功能
- js中的深层复制
- hdu-1698(线段树,区间修改)
- CentOS7安装后连不上网络无法使用yum
- Taints和Tolerations
- asp.net曲线图