Android PNG渐变背景图片失真问题
来源:互联网 发布:top域名多少钱 编辑:程序博客网 时间:2024/05/22 14:13
最近一个困扰很久的问题,渐变效果的png图片,设置为控件图片或background时,在eclipse上看着没有什么问题,但是在设备上运行时,可以看到明显的一圈圈的轮廓线,图片严重失真。
在网上google了一下似乎这个问题很多人遇到,找到一种解释是Android设备display默认是采用16-bits color palette来表示所有颜色,因此对于带alpha值的32位png图片会出现显示失真。
这个问题有两种解决方法:
1.第一种方法最简单直接(推荐),设置需要显示Activity的PixelFormat,
getWindow().setFormat(PixelFormat.RGBA_8888);
PS:在onCreate()中直接加
RGBA_8888为android的一种32位颜色格式,R,G,B,A分别用八位表示,Android默认格式是PixelFormat.OPAQUE,其是不带Alpha值的。设置之后可以看到图片的显示效果就和在PC上看到一样,不会出现带状的轮廓线了。
2.第二种方法比较麻烦,就是将你需要要显示的view设置为一个surfaceview,这样也可以达到同样的显示效果,但这种方法代价较大,不推荐。
The artefact you are seeing is known as "banding" and it is a consequence of your display being 16bits
The best way to resolve this is to add some "noise" to your image asset in Photoshop or Paint.NET.
Alternatively you can set your window to be 32bpp with the following line added to your activity'sonCreate(), between
-----------------
如果以上方法依然不能实现去除手机中图片显示渐变存在光晕效果的话,你可以适一下在PS里的处理方法:“The best way to resolve this is to add some "noise" to your image asset in Photoshop or Paint.NET”我用了这个方法数值设置的是1.5。算是解决了问题。虽然手机开发的很多情况下会使用.png格式,但是当图片大小与质量并不匹配的时候,或许可以换一种文件格式,在这里建议使用jpg的,压缩大小与质量相衬。
PS:这适用于很多情况,要相衬才好。
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题 getWindow().setFormat(PixelFormat.RGBA_8888);
- Android PNG渐变背景图片失真问题 getWindow().setFormat(PixelFormat.RGBA_8888);
- 关于Android平台下png图片渐变失真的解决办法
- android 代码设置PNG图片失真问题
- Android ImgaView背景图片不失真处理
- 反编译9.png文件拉伸失真问题
- 关于用.9.png格式处理图标失真问题
- android-XXX9.png文件拉伸不失真大家注意了
- 解决ie6 png 作为背景图片的透明问题
- android学习:背景图片是.9.png的时候的BUG
- JQuery实现背景图片渐变!
- JQuery实现背景图片渐变!
- 背景图片颜色渐变
- HttpEntity接口的详细解释与应用
- 初学scala,再学递归
- 求高人指点!!!!!!!!!!!!!!!!!!!!!!!
- Jena 对RDFS,OWL,DAML+OIL等本体操纵
- hdu 4526 威威猫系列故事——拼车记
- Android PNG渐变背景图片失真问题
- Jena 利用数据库保存,持久化本体
- 基于MTD的NAND的设备驱动
- Jena 本体推理
- C程序设计课程-第四堂课后作业
- 【创业感想】从如何让创业公司效率提高3倍说起
- input 输入框获得/失去焦点时隐藏/显示文字
- poj1195 二维树状数组
- 用两个栈实现一个队列——我作为面试官的小结