最近一个困扰很久的问题,渐变效果的png图片,设置为控件图片或background时,在eclipse上看着没有什么问题,但是在设备上运行时,可以看到明显的一圈圈的轮廓线,图片严重失真。
在网上google了一下似乎这个问题很多人遇到,找到一种解释是Android设备display默认是采用16-bits color palette来表示所有颜色,因此对于带alpha值的32位png图片会出现显示失真。
这个问题有两种解决方法:
1.第一种方法最简单直接(推荐),设置需要显示Activity的PixelFormat,
getWindow().setFormat(PixelFormat.RGBA_8888);
RGBA_8888为android的一种32位颜色格式,R,G,B,A分别用八位表示,Android默认格式是PixelFormat.OPAQUE,其是不带Alpha值的。设置之后可以看到图片的显示效果就和在PC上看到一样,不会出现带状的轮廓线了。
2.第二种方法比较麻烦,就是将你需要要显示的view设置为一个surfaceview,这样也可以达到同样的显示效果,但这种方法代价较大,不推荐。
Reference:
[1].http://www.gotow.net/creative/wordpress/?p=79
[2].http://stuffthathappens.com/blog/2010/06/04/android-color-banding/
分享到:
相关推荐
能解决png图片在IE6浏览器不兼容问题。同时能解决png背景图片在IE6浏览器不兼容的问题。简单易懂。急需要导入一个js文件,然后写入需要兼容的标签即可。
易语言PNG图片透明背景源码,PNG图片透明背景,释放字节流,创建字节流,取字节流指针,取字节流尺寸,取出字节集,置窗口PNG外型,Gdiplus_初始化,GdipCreateFromHDC,GdipLoadImageFromFile,GdipLoadImageFromStream,...
易语言PNG图片透明背景源码例程程序结合易语言扩展界面支持库和应用接口支持库,调用API函数实现PNG图片作为窗口的透明背景。点评:本源码是易语言PNG图片的应用实例。 @易语言难学吗。
android png 3D图片素材 全套提供下载
EXE文件,批量BMP图片转为PNG透明图片,去掉BMP黑色背景,压缩导出png图片,V1.1
框架主页https://github.com/aellerton/japng_android,Android apng支持框架,自己打包成aar
易语言PNG图片透明背景源码.rar
近1000个android 近1000个android png图标素材图标素材
一整套大小不同内容一样的的 android png 格式图标
解决IE6下PNG图片背景色不透明问题的方法
由于IE7以下不支持图片的背景的透明.根据IE特性,我们可以用IE的滤镜来实现透明处理 你只要包含下面这个pngfix.js文件就行,如下: <!--[if lt IE 7]> <script defer type="text/javascript" src="/Js/pngfix.js"> ...
PNG图片透明背景.rar
Android 常用开发图片 .png格式。方便开发是使用,多是.png和少量.9.png图片
手机开发 图标 android png 格式 windows风格
EXE文件,批量BMP图片转为PNG透明图片,去掉BMP黑色背景,VS2019示例源码程序。
1--控制一张图片等比例缩放容易 ,不失真 2--控制多张图片切换时每张图片保持等比例缩放,不失真
android 图标 素材 png 集合
主要介绍了Android png透明图片转jpg时背景变黑的解决方法,需要的朋友可以参考下
基于MFC对话框Opencv实现PNG背景透明,图片叠加,图片读取,显示。