Android TV开发遇到的图片失真问题以及对应的解决办法
来源:互联网 发布:酒驾软件 浙江工业大学 编辑:程序博客网 时间:2024/06/06 12:27
现在的Android机顶盒为了兼容电视屏幕,一般都会设置一个修改分辨率的功能。然而这个修改分辨率很多时候其实不是修改系统实际分辨率,而是一个输出分辨率。
因为在Android系统中,图像从生成到最后显示在屏幕上大概需要经过以下过程:nativeui—>framebuffer—>显示屏。平时我们所说的系统分辨率就是nativeui这里的,而现在很多android盒子修改分辨率则是修改framebuffer到显示屏这里的。也就是说系统分辨率是固定的,生成的图片大小也是固定的,但是在输出到屏幕上的时候会对这个图片进行一个拉伸或者收缩。
假设我们盒子系统分辨率是1080p,如果把输出分辨率调到了720p,那么图像就会出现收缩的现象,这也就是图片失真的由来。尤其是那种圆形的图片(内容为圆形),在拉伸或者收缩的过程中,很容易在内容边缘产生锯齿,这个锯齿我们是无法通过设置Paint来减少的,因为我们图像的绘制已经完成,所以在最后的显示上肯定出现失真的情况,尤其是实际分辨率和输出分辨率差别比较大的时候。
如果出现这种,我们有没有解决办法呢?解决办法还是有的,但是并不是一个完美的解决办法,只能算一个折中的方案。具体做法如下:
美术在出图的时候,适当的给图片周围增加几个个像素的透明区域,然后给这个区域做一个渐变的效果(根据具体图片具体内容来决定,逐渐向图片边缘淡化直至透明),最终显示的结果就是图片周围会有一圈模糊的图像,但是能够消除较大部分的锯齿。
所以在实际开发中,可以根据具体情况决定是否采用上诉方案。
0 0
- Android TV开发遇到的图片失真问题以及对应的解决办法
- android tv接收流遇到的问题
- 关于Android平台下png图片渐变失真的解决办法
- J2ME显示网络图片遇到的问题以及解决办法
- ImageList的图片失真问题
- Android 图片失真的原因
- Android开发:Android Studio工具遇到的坑,以及解决办法
- EVC、VS2005开发wince应用程序遇到的问题以及解决办法
- EVC、VS2005开发wince应用程序遇到的问题以及解决办法
- ssh开发过程中遇到的问题,以及一些解决办法
- iOS开发中遇到的一些问题以及解决办法总结
- 电视TV端使用RecyclerView开发遇到的问题
- 在编译Android 工程时常遇到的问题,以及解决办法。
- android TV开发之RecyclerView的使用以及自动加载
- android TV开发之RecyclerView的使用以及自动加载
- Android开发遇到的各种问题的解决办法(不断更新!!!)
- Eclipse遇到的一些问题,和对应的解决办法
- Eclipse遇到的一些问题,和对应的解决办法
- JAVA开发13--批量将数据insert插入oracle表
- ls -al
- iOS开发之高仿斗鱼tv初探
- Java设计模式之单例设计模式
- 高性能、高并发、高扩展性和可读性的网络服务器架构:StateThreads
- Android TV开发遇到的图片失真问题以及对应的解决办法
- VMware虚拟串口的设置和使用
- Spring3学习笔记
- Gradle build设置自动log开关
- 学习心得——关于Serializable接口
- Codeforces 346A By Assassin
- 编程小技巧
- 几个比喻
- leetcode136.Single Number