在多媒体开发过程中,难免会使用到video这一类型。但一直有部分开发者或产品人员总提出 “视频画面没有充满”其给定的窗口,其原因在于对视频不了解,想当然的去认为要“充满”。被问到此问题只能苦笑一声,哭笑不得。

先看下几个效果:

  1. 左右空白       显示窗口320*240 ,视频分辨率720*576
  2. 上下空白       显示窗口320*240 ,视频分辨率1280*720
  3. 上下左右空白  显示窗口320*240,视频分辨率240*180 ,这种很少见或没见过吧。
看了上面3个图,是否想到了什么?没想到继续看下面:
第1、2都是正常的显示样子,由于窗口和画面长宽比例比一致,留空白是为了保持画面比例,“适应窗口”显示,如何适应,一句话:总有一边充满就对了。此时和原有的画面比例是一直的。此时如要完全充满,那就是拉伸的,后果就是变宽(1)或变长(2);        举个例子,如果视频显示的是一个人,第一种全部充满后脸会变胖 (宽),第二种全部充满后脸会变长(竖直方向)。至于第三种窗口和画面长宽比刚好相等,都是4:3,因此刚好能填充窗口而不变形,但由于放大到窗口大小,实际效果可能会变模糊,但一般都会充满,这也是很少或没有见过第三种显示方式的原因。
此外,由于平台的不同以及产品设计不同,不论是适应宽还是高,渲染的时候都有不同程度的缩放,可能是放大,也可能是缩小,看起来画面比例是一样的就是正确的。当然,有的产品设计不计较变形问题就要充满窗口,这就需要渲染有模式可选。
Gensee Android sdk的GSVideoView 根据用户的不同需求,提供了如下接口:setRenderMode(RenderMode renderMode) 
        
public enum RenderMode {RM_FILL_XY,                    //填充窗口(画面比失调)RM_ADPT_XY,                    //适应窗口(窗口可能会有边缘空白)RM_CENTER,RM_FILL_CENTER_CROP  //以小边放大或缩小 并裁剪后充满窗口(一般用于手机全屏直播)}

视频显示边缘空白的真相相关推荐

  1. QLayout布局间消除间隙和QLayout边缘空白调整

    目录 一.问题 二.QLayout 1.概述 2.布局管理系统 3.布局管理器 4.布局管理器的一些知识 三.QLayout边缘空白调整 1.原始代码 2.setContentsMargins函数 3 ...

  2. [Qt]的Layout边缘空白调整

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/88064393 文章目录 @[toc] ...

  3. 【Unity3D / Texture】裁剪纹理 去除边缘空白部分

    效果预览 裁剪之前: 裁剪之后: 左边,顶部,和右侧的空白部分,都去除了,因为适配窗口显示的原因,看上去图片变大了,实际尺寸是没变的. 思路 纹理的空白部分,即透明度为0的部分,那么,对图像的各个方向 ...

  4. IE网页flash空白

    声明:本文转载自gnaw0725.blogbus.com,更新网址:http://gnaw0725.blog.51cto.com. IE网页flash空白.我在浏览网页时发现嵌入其中的Flash和视频 ...

  5. Floating Action Button-Android M新控件

    概述 浮动操作按钮是Material Design 中推出的控件之一 浮动操作按钮 (简称 FAB) 是: "一个特殊的promoted操作案例.因为一个浮动在UI之上的圆形图标而显得格外突 ...

  6. JAVA教程 第六讲 Java的线程和Java Applet(二)

    6.3 Java Applet 前面的章节我们阐述了Application的应用,这一讲我们将介绍java的另一类应用java Applet,即java小应用程序. 在Java问世的头几年里,之所以如 ...

  7. PhotoView图片缩放控件源码浅析(一)

    本文参考自http://www.tuicool.com/articles/ea2ANjm 简介 PhotoView属性:  可以用于查看图片,并对图片进行拖动缩放,拖动过程中不会出现边缘空白:  双击 ...

  8. 前端三大技术 HTML、CSS、JavaScript 快速入门手册

    听到前端技术,不少朋友一定会感到有些陌生.但其实,前端,你每天都在接触. 你正在使用的APP,你正在浏览的网页,这些你能看到的界面,都属于前端. 而前端最重要的三大技术,HTML,CSS,JavaSc ...

  9. Arduino开发板制作

    Arduino UNO 介绍 ,Arduino开发板制作 教程: Arduino制作 Arduino UNO 图 Arduino是什么 Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬 ...

最新文章

  1. Nat. Mach. Intell.|从局部解释到全局理解的树模型
  2. 基于jQuery+ashx+.net实现三级栏目联动操作
  3. python保存几位小数 format
  4. boost::reverse相关的测试程序
  5. LINUX下源码包安装mysql
  6. 基于vue+mint-ui的mobile-h5的项目说明
  7. 旅游流的概念_2020年去张家界凤凰古城旅游亲身体验经历分享——实用攻略(图文)...
  8. 电脑突然无法播放html音频,电脑无法播放音频怎么办
  9. iOS开发遇到的坑之五--解决工程已存在plist表,数据却不能存入的问题
  10. 每日一课(10/75)CPU资源和存储器 之 专用寄存器的作用
  11. Silverlight 的导航框架与动态加载
  12. 机器人自动化《RPA应用场景和发展趋势》
  13. 博士申请 | 上海交通大学自然科学研究院洪亮教授招收深度学习方向博士生
  14. SetWindowsHookEx 全局钩子
  15. 一款免费、炫酷的GUI:AWTK
  16. uniapp 跳转到商品详情页
  17. Kubernetes基础:Pause镜像源码解读
  18. 教你如何一键提取微信公众号文章的封面图
  19. 做好企业站优化需从5个方面共同考虑
  20. micro-app 微前端脚手架搭建

热门文章

  1. Java中lastValue_在Logstash中为sql_last_value使用表的ID?
  2. Java ObjectStreamClass getSerialVersionUID()方法(带示例)
  3. ruby三元操作符_在Ruby中使用操作符将元素添加到数组实例中
  4. 45 张图深度解析 Netty 架构与原理
  5. 实战:布隆过滤器安装与使用及原理分析
  6. 2021-01-24
  7. 真空压力变送器怎么样零点标定_恒压供水设备中液位变送器分类及工作原理
  8. 使用函数统计指定c语言,浙大版《C语言程序设计(第3版)》题目集 习题5-5 使用函数统计指定数字的个数...
  9. oracle静默文件建库,【配置上线】Oracle静默建库 for 11g
  10. python 消息框但不影响程序执行_还在用print()查找错误?日志消息不香嘛?| 原力计划...