SVGA 是什么


SVGA 是什么

文章插图
svga是一个缩写 , 超级视频图形阵列和涵盖面相当广泛 , 电脑显示标准的制造中所用的电脑显示器和屏幕上 。
该svga标准设计的VESA  , 视频电子标准协会 。
当使用svga作为一个直接的比较其他显示标准 , 如为XGA (扩展图形阵列)或VGA (视频图形阵列)的标准的决议被称为svga是800 * 600像素 。
当svga的标准是首先界定它所指的一项决议 ,  800 * 600 4位像素(总像素的数目将会480000 )这意味着每个像素可之一 ,  16种不同的颜色 。这个定义已被迅速扩展到1024 * 768的8位像素分辨率 , 也就是说 , 是有选择的256色 。
随着技术先进 , 色彩数已变得无关紧要 , 因为这是现在所定的不同的模拟电压显示 , 树荫下的颜色 , 即一监测svga是理论上能显示无限数量的颜色 。但是作为内部运作视讯卡是数字 , 这地方的有限数量限制的颜色可以显示 。例如显示器 , 可能显示任何颜色从一个调色盘16万美元 , 但视频卡可能会限制 , 这仅显示256色 , 同时 , 由于记忆体的限制 。几乎所有的显示器生产之间的上世纪90年代末到2000年初是svga显示器 , 使svga更多的雨伞 , 任期超过一个固定的标准 。
当被介绍的VGA视频之间的接口适配器和监视器改变 , 从数字到模拟 , 给予有效的无限色彩范围 。因此 , 颜色深度 , 成为主要的功能是如何的视频适配器建造 , 而不是监察 , 因此 , 相同的监测连接到不同的视频适配器 , 将给予不同的表现 。
所以 , 虽然svga是一种广泛使用的任期内 , 它并没有具体的定义而言 , 决议或位元深度 。在一般的使用 ,  svga是用来形容一个显示能力普遍之间的某个800x600像素和1024x768像素 , 色彩深度不等 , 由8位( 256色) 16位( 65536色)。
1、什么是SVGA
SVGA是一种动画格式 , 可以兼容安卓、ios和web , 可以实现很多复杂的动画 , 这样开发就不用头疼canvas来实现动画时的卡顿优化问题了 。
2、引入SVGA
因为博主是前端方向的 , 所以这里只介绍web页面如何引入 , 这个是SVGA官方的web地址 , 如果大家感兴趣可以看一下
和正常js引入一样 , 我们是需要script引入即可 。
在引入svga之后 , 我们需要在html中生命一个对象来存放svga动画 。
这里只是简单定义 。
3、让svga动起来
```
```
我们可以看到 , 需要定义Player和Parser来统一完成一个动画的实现 。
在load的callback函数中 , 我们可以设置
```
4、svga的读取是依赖canvas的
可以看出 我们可以动过调节对象元素的样式来实现canvas的控制 。
【SVGA 是什么】 结语:
Svga可以很好的节省动效开发的时间 , 而且具有很好的兼容性 , 还可以完美还原设计稿 。但是svga毕竟是一个动画文件 , 毕竟动画的方式是唯一的 , 所以对于多样性的根据用户操作来实现个性化展示的 还是需要依托于基础的js或者css来控制实现 。
播放svga动画链接:
http://svga.io/svga-preview.html
SVGA他人的Demo
https://github.com/yyued/SVGAPlayer-Android
1. 添加依赖: 'com.github.yyued:SVGAPlayer-Android:2.4.7'
2. 初始化的两种方式:
1).
SVGAParser.Companion.shareParser().init(context)
parser = SVGAParser.Companion.shareParser()
2).
SVGAParser parser = new SVGAParser(context)
parser.init(context)
3. 使用svga文件
1). 从Assets文件夹下获取并解析(需要做动画变更处理的, 不需要处理直接在xml中放入资源即可)
parser.decodeFromAssets("svga文件", new SVGAParser.ParseCompletion() {
@Override
public void onComplete(SVGAVideoEntity svgaVideoEntity) {
//创建一个SVGADrawable的实体drawable来替换原有svga图片
svgaBottom = new SVGADrawable(svgaVideoEntity)
//设置图片资源
holder.svgaShowBottom.setImageDrawable(svgaBottom)
//执行动画
holder.svgaShowBottom.startAnimation()
}
@Override
public void onError() {
}
})
2). 从网络URL加载
parser.decodeFromURL(new URL("url"), new SVGAParser.ParseCompletion() {

推荐阅读