首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一键制作自适应等比缩放的雪碧图帧动画

GitHub: https://github.com/gkajs/gka 原理剖析 当背景图片设置 background-size:100% 100% 时,百分比是以元素宽高为基准的,应用到雪碧图上会将整张雪碧图拉伸填充整个元素...元素只展示一张图片 能够指定展示某一张图 图片保持正常的长宽比(不被拉伸) 元素只展示一张图片 雪碧图中,每张单图的宽高一致,设置 background-position: 100% 100% 后,可以看到上图元素展示区域中宽含...能够指定展示某一张图 雪碧图可以通过调整 background-position 来展示不同区域。由于此时图片的具体大小未知,无法通过 px 直接定位出来。...所以,每张单图对应的位置百分比都可以通过对应x、y的偏移值和宽高来计算获得。 ?...和 padding-bottom 计算每一帧对应的 background-position 计算每个一帧对应的百分比 写代码( keyframes 等等) gka 一键制作自适应等比缩放的雪碧图动画

2.4K30

指定时间点截图最后一帧失败问题定位

首先我们遇到此类问题时要先确认模板设置是否正确,可以到云点播控制台检查截图模板和任务流的配置。 image.png image.png 很显然截图模板与任务流设置都是OK的。...接下来再看看操作过程和步骤是否正确。...image.png 控制台如上操作是完全正确的,如果是调用的API发起任务,可以通过在线工具进行验证,输入对应的参数,然后点击在线调用即可,返回taskid和requestid就说明任务发起成功了。...3、截取一张图作封面:指定一个时间点截图,将其 URL 作为媒资系统中该视频的封面。 4、截雪碧图:按相同的时间间隔对视频截取多张小图,然后组装成若干大图(即雪碧图)。...当截图的宽高比与原始视频的宽高比不一致时,对截图的处理方式,即为“填充”。一般有以下几种填充方式: 1、 拉伸:对图片进行拉伸,填满整个图片,可能导致图片被“压扁”或者“拉长”。

1.7K72
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Jekyll 社交图标集合创建

    随之产生了一种比较可行的解决方案:将所有的社交图片拼在一张图上,然后通过定位的方式来索引到不同的社交图标,我们通常将这张图称为雪碧图。...这种方法的好处比较明显,浏览器只需要发出一次请求下载雪碧图即可,减少了文件 HTTP 请求数,加载时间显著变短。比较明显的困难是,定位找起来简直不要太麻烦。...新增图标的时候,为了能沿用原来已经写好的样式,只能在原有的雪碧图的基础上往后增加图标,当然同时也要增加对应的样式。   虽然雪碧图在某种程度上提升了加载效率,但是给后期的更新、维护带来了不小的麻烦。...还有一个越来越凸显的问题——随着访问网站的设备类型的不断增多,图片的质量会影响到不同设备、不同平台下的效果一致性,甚至在高分辨率屏幕下会出现图标模糊的情况,用户体验极其不佳。...最有效的改进方法可能就是采用分辨率更高、质量更高的图片来拼凑雪碧图,不过同时也会增大雪碧图的文件体积。

    2K40

    web图像的常见应用策略与技巧

    本文介绍一些关于响应式图像的适配应用策略,回退原理,SVG的换色技巧,雪碧图的百分比定位计算公式等相关的一些小知识点,目的在于帮助一部分同学快速的理清图像应用思路,以及一些web图像的应用技巧。...改变,对于这类图像,也有两种常用的处理方式 1.2.1 我们使用srcset搭配w描述符以及sizes属性 w描述符告诉浏览器列表中的每个图象的质量。...源的顺序是至关重要的,如果浏览器无法识别所有的图象类型,它会回退至原来的img元素。...SVG应用的另一个难点,就是作为背景图响应式渲染,雪碧图的background-position和background-size 的计算,这个其实也是其他图像都会存在的一个难点。...所以这一步我们还是集成到了工作流里,在所有合并雪碧图的地方用这个公式自动计算出位置。 ?

    1.6K10

    web图像的常见应用策略与技巧

    本文介绍一些关于响应式图像的适配应用策略,回退原理,SVG的换色技巧,雪碧图的百分比定位计算公式等相关的一些小知识点,目的在于帮助一部分同学快速的理清图像应用思路,以及一些web图像的应用技巧。...有一些图像格式在较小的文件大小情况下保证了较好的图片质量。听起来还不错,但残酷的事实是没有一个新格式被所有浏览器支持。谷歌的WebP表现不错,但只有Chrome和Opera原声支持。...源的顺序是至关重要的,如果浏览器无法识别所有的图象类型,它会回退至原来的img元素。...SVG应用的另一个难点,就是作为背景图响应式渲染,雪碧图的background-position和background-size 的计算,这个其实也是其他图像都会存在的一个难点。...所以这一步我们还是集成到了工作流里,在所有合并雪碧图的地方用这个公式自动计算出位置。 ?

    1.9K90

    web图像的常见应用策略与技巧

    w描述符告诉浏览器列表中的每个图象的质量。sizes属性是一个包含两个值的,由逗号分隔的列表。根据最新规范,如果srcset中任何图像使用了w描述符,那么必须要设置sizes属性。...这种方式很智能,浏览器去根据你的sizes,从w列表里选择最适合的图像来调用显示。正因为他太智能了,在实际操作中可控性较差,有些我们想精确控制的图像显示,有时候并不能如意。...源的顺序是至关重要的,如果浏览器无法识别所有的图象类型,它会回退至原来的img元素。...SVG应用的另一个难点,就是作为背景图响应式渲染,雪碧图的background-position和background-size 的计算,这个其实也是其他图像都会存在的一个难点。...所以这一步我们还是集成到了工作流里,在所有合并雪碧图的地方用这个公式自动计算出位置。

    1.6K30

    什么叫 “雪碧图”?

    今天来随意聊聊雪碧图。 雪碧图是什么? 雪碧图,英文原名叫 CSS sprites。 sprite 指的是精灵。 我们喝的雪碧,它的英文也是 sprite,应该直译为 “精灵” 的。...但要符合中国市场,因为你不能说我喝的饮料叫“精灵”,那特别怪。于是就走音译的路线,翻译成 “雪碧” 了。 所以雪碧图更正确的叫法应该是 “精灵图”。 那为什么叫精灵呢?...所以通常会将这个角色的所有动作放到一个图片上,当角色行为发生变化时,就修改位置和宽高信息截取到对应的状态图片。...然后我们在使用的地方用 background-position 设置好位置: 雪碧图的作用 雪碧图的主要作用是减少 HTTP 请求数量。 假如你有 100 张小图片,你要发起 100 个请求。...当然还有一种方式就是通过 JS 手动做其他状态小图片的缓存。 结尾 雪碧图其实和雪碧没关系,它和 sprite(精灵)有关系。

    6.2K20

    WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo

    一般情况下,jpg都是作为内容图片出现的.那么我们如何来优化JPG图片呢? 什么是图片优化?就是保证图片质量的情况下,尽可能的缩小图片的体积,以减少图片对于带宽的需求....: 如上图所示,这是太平洋电脑网的首页的雪碧图.当我们使用雪碧图的时候,就必须在CSS中使用背景定位的方式来显示对应的图片.这个本文不做过多阐述....它最大最大的优点是无损.只是,在无损状态其体积比较庞大.因此,在实际WEB运用中,如果是需要高保真存储的图片,一般情况,还是存成jpg图片的多,因为,jpg图片可以保证图片的色彩和体积,而png-24是完全无法压缩的...如果是基于高清图片,建议直接Jpg,那样设置的选择性更多. 2.拼合多张PNG-24图片,组成一张”雪碧图 理由和PNG-8是一样一样的....,其设计元素只需要得到色值即可,不需要切图,那是最佳的优化.能不能做到,就看各位的设计师了.感谢苹果,感谢微软,感谢扁平化!

    39610

    前端性能优化篇二:图片的合理使用

    使用场景 JPG 适用于呈现色彩丰富的图片,在我们日常开发中,JPG 图片经常作为大的背景图、轮播图或 Banner 图出现。...5 base64 关键字:文本文件,依赖编码,小图标的解决方案 前言知识 雪碧图 雪碧图、CSS 精灵、CSS Sprites、图像精灵,说的都是这个东西——一种将小图标和背景图像合并到一张图片上,然后利用...相较于一个小图标一个图像文件,单独一张图片所需的 HTTP 请求更少,对内存和带宽更加友好。 和雪碧图一样,Base64 图片的出现,也是为了减少加载网页图片时对服务器的请求次数,从而提升网页性能。...Base64 是作为雪碧图的补充而存在的。...2kb 的) 2 图片无法以雪碧图的形式与其它小图结合(合成雪碧图仍是主要的减少 HTTP 请求的途径,Base64 是雪碧图的补充) 3 图片的更新频率非常低(不需我们重复编码和修改文件内容,维护成本较低

    1.3K30

    rem逐帧动画与像素精度计算

    回到我们的题目,图片处理完毕了,接下来就是把图片放置到合理的位置,并使用css切换图片位置就可以得到我们要的效果了。...此时我们有三个选择: 1、这部分内容抛弃rem单位,使用绝对正确的px单位来设置动画区间; 2、这部分内容抛弃雪碧图,使用16张相同大小的图片保证精度计算的误差是一致的(都向上或向下取整); 3、寻求更多的解决方案...最小包含块保证逻辑像素的方块一定包含在物理像素块内,计算左边和上边位置的时候,对数值进行向下取整;计算右边和下边位置的时候,对数值进行向上取整,计算过程如下: x: floor(x) y: floor(...所以计算左/上位置的时候,是直接对数值进行取整,而右/下位置的取值是根据原左/上位置和宽/高的和值取整而来,计算过程如下: x: round(x) y: round(y) maxX: round(x +...我们可以得到三点结论: 1、色块有长有短,即符合前文说的“补偿”的过程 2、 这个过程是散落在所有块间的,不是简单的从左到右的计算; 3、选中的第二个dom元素的选中阴影说明其逻辑位置和渲染位置是不一致的

    1.6K10

    CVPR 2018 | Poster论文:处理多种退化类型的卷积超分辨率

    基于模型的方法通过引入图像先验,例如:非局部相似性先验、去噪先验等,然后求解目标函数得到视觉质量较好的 HR 图像,然而速度较慢。...虽然结合基于 CNN 的去噪先验可以在某种程度上提升速度,但仍然受限于一些弊端,例如:无法进行端对端的训练,包含一些比较难调的参数等。...为此本文提出了一种维度拉伸策略。假设 LR 图像大小为 ? ,首先将向量化的模糊核 PCA 降维,然后和噪声水平并在一起得到一个t+1维的向量 v,接着将v拉伸为 ?...维的张量,我们将此张量称之为退化图(Degradation Maps),其中第i个图的所有 ? 元素均为 ? 。 ? 图 1:维度拉伸示意图。...提出了一种简单有效的维度拉伸策略使得卷积神经网络可以处理维度不同的输入,此策略可以扩展到其他应用。 通过实验展示了用合成图像训练得到的超分辨网络模型可以有效的处理真实图像复杂的退化类型。

    1.2K50

    H5前端性能测试快速入门

    渲染树构建:将CSS和style标签中的样式信息解析为渲染树,渲染树由一些包含有颜色和大小等属性的矩形组成,它们将被按照正确的顺序显示到屏幕上。...如图有16个icon,每一次取图片都需要一个http请求,如果通过CSS雪碧图将16个资源合并,再通过background-image和backgorund-position定位出雪碧图中的小区域,那么只需要一个...图片地图:是一种小图合并大图的方式,和雪碧图相似,区别仅在实现原理上有不同,雪碧图是通过CSS的方式来呈现图片的某个局部,而图片地图是从html代码的方式来控制显示区域。...图片压缩:对于jpg,png格式图片来说本身就已经经过了压缩,这对于稀缺的带宽资源是不够的,我们还需要更加优化的压缩算法,通过一系列的图片压缩工具如TinyPNG, Smush.it可以得到更好的压缩且图片质量不变...可以考虑请求小的切图,通过CSS控制图片显示位置。 ?

    1.9K60

    H5前端性能测试快速入门

    渲染树构建:将CSS和style标签中的样式信息解析为渲染树,渲染树由一些包含有颜色和大小等属性的矩形组成,它们将被按照正确的顺序显示到屏幕上。...如图有16个icon,每一次取图片都需要一个http请求,如果通过CSS雪碧图将16个资源合并,再通过background-image和backgorund-position定位出雪碧图中的小区域,那么只需要一个...(2)图片地图:是一种小图合并大图的方式,和雪碧图相似,区别仅在实现原理上有不同,雪碧图是通过CSS的方式来呈现图片的某个局部,而图片地图是从html代码的方式来控制显示区域。...(3)图片压缩:对于jpg,png格式图片来说本身就已经经过了压缩,这对于稀缺的带宽资源是不够的,我们还需要更加优化的压缩算法,通过一系列的图片压缩工具如TinyPNG, Smush.it可以得到更好的压缩且图片质量不变...可以考虑请求小的切图,通过CSS控制图片显示位置。 ?

    2.8K83

    CSS伪元素的妙用--单标签之美

    雪碧图大家应该也不陌生,通过将多个图片 icon 合为一张图,从而为了减少 http 请求,很多网站对雪碧图的需求还是很大的。...但是在制作雪碧图的过程中,或者现在很多的打包工具自动生成的雪碧图,都存在着需要为每个 icon 需要预留多少边距的问题。看看下图: ? –> ?...譬如上面这种情况(假设按钮中的图标是采用了雪碧图),产品某天突然要求按钮从状态左变为状态右,那么雪碧图原先预留的位置边距肯定就不够了,导致其他图形出现在按钮中。...所以通常这种情况需要用到雪碧图的话,都是在按钮中设置一个伪元素,将伪元素的高宽设置为原本 icon 的大小,再利用绝对定位定位到需要的地方,这样无论雪碧图每个 icon 的边距是多少,都能够完美适应。...对于一个使用 HSL 表示的颜色,我们只需要改变 L (亮度)的值,就可以得到一个更亮一点或者更暗一点的颜色。

    1.6K100

    Qt音视频开发10-ffmpeg控制播放

    我个人的理解是视频流这玩意,一旦你打开了,他就源源不断涌过来,你不处理,他就越来越多,你必须要读取他,从缓冲区拿走这些数据才行,所以如果想要暂停视频流,正确的做法是照常解码,只是不处理和绘制图片就行,说白了其实就是伪暂停...- now_time得到时间差值,如果是正数,则这个时间就是需要延时的微秒数,注意是微秒数而不是毫秒数哦,直接调用av_usleep来延时即可。...可设置是否绘制OSD标签即标签文本或图片和标签位置。 可设置两种OSD位置和风格。 可设置是否保存到文件以及文件名。 可直接拖曳文件到ffmpegwidget控件播放。...可暂停播放和继续播放。 支持存储单个视频文件和定时存储视频文件。 自定义顶部悬浮条,发送单击信号通知,可设置是否启用。 可设置画面拉伸填充或者等比例填充。 可设置解码是速度优先、质量优先、均衡处理。...property("isPause").toBool() && this->isVisible() && thread->isRunning()) { //拷贝图片有个好处,当处理器比较差的时候

    1.6K20

    音视频知识图谱 2022.06

    在一定的范围内查找待『叠加』的音频帧,该音频帧要符合与原位置处音频帧『波形最相似』的条件,符合该条件的音频帧作为输出帧进行输出视频的合成。...在全景图像及视频中,等距柱状投影的实现思路是用相同数量的采样点保存每条纬线上的数据,从而得到对应的二维平面上的矩形视频。...因为最终视频画质是由原始素材画质和拉伸后视频画质共同决定的,所以采用这种方法得到的视频画质较差。 EAP,Equal-area Projection,圆柱等面积投影。...特点:在下图中,通过对比左图(a)与右图(b),可以看出在北半球的区域(房屋屋顶),AEP(β=1/1.4)的图形扭曲程度远远小于 EAP,进一步提高了 EAP 的投影质量。...特点:赤道圆柱投影方式的效果图如下图 ECP-3 所示。

    60930
    领券