当前位置: 首页 > Web前端 > CSS

「CSS3」ImageMagick-CreateSpriteAnimationfromgif-SpriteSheetAnimation

时间:2023-03-31 11:47:26 CSS

ImageMagickImageMagick是一个非常流行的图像处理库。一些大公司,例如Facebook和Yahoo,正在使用ImageMagick来处理用户上传的图片。.ImageMagick基本上可以支持所有基本的图像处理,比如改变大小、亮度和灰度,添加滤镜和特效,转换图像格式,制作gif或者拼合gif……基本上你能想到的所有基本图像处理,它都可以做这一切。ImageMagick对平台和语言的支持非常完善,基本支持所有流行的语言。即使不支持你使用的语言,直接通过命令行调用magick命令也很方便。我不会详细介绍安装ImageMagick的步骤。可以根据自己的平台下载相应的二进制包。->传送门<-Sprite动画Sprite动画是指将一个动画所需的所有帧(或水平或垂直)平铺排列在一张图片上,当动画运行时,短时间内改变其容器的background-position是时候得到动画播放的效果了。下图是bilibili点击收藏按钮的动画效果及其精灵图(gif是笔者根据精灵图合成的)。GIF图片大小为27KB,sprite图片大小为53KB。稍微大一点的sprite图绝对符合它的优点:暂停播放控制播放速度和播放速度的时间函数控制播放顺序和次数。如果需要控制动画效果,使用sprite图片是个好办法,否则使用gif来缩小图片大小。ImageMagick将gif转为png$convertstar.gif-coalesce+appendstar.practice.png就是上面的命令,再解释一下上面的命令:-coalesce的意思是把gif的每一帧补全成一张完整的图片。为了压缩体积,gif每一帧的数据都是在上一帧的数据上递增覆盖的。所以如果直接提取每一帧,会得到一组不完整的图片,可以试试去掉这个参数。+append表示将提取的一组图片横向拼接,-append表示纵向拼接。因为图片是按照一定的方式编码的,所以有时候同一张gif图片,竖拼和横拼后的图片大小可能会有很大的不同。最好生成一个,然后选择素材和DEMO地址:https://github.com/JasonKid/f...DEMO最后附上精灵动画的运行DEMO。有CSS和CSS3两种方式,可以暂停、加速、减速、反转。Stamp->Github:JasonKidfezoneImageMagick

猜你喜欢