gpt4 book ai didi

javascript - 使用 Javascript 的动画图像

转载 作者:数据小太阳 更新时间:2023-10-29 05:40:49 25 4
gpt4 key购买 nike

有没有一种方法可以使用基于某些 png 或 jpg 的 javascript 创建类似 gif 的图像?

只是一个简单的代码,可以将一张图片换成另一张图片,创建动画效果,就像 gif 一样。

我的想法是用于生成横幅,所以我上传图片(完成),我需要这个动画的代码。

最佳答案

去年愚人节,Stackoverflow 将这种技术用于其独 Angular 兽动画。我保留了动画 on my website .动画代码是我自己的——我没有看 stackoverflow 是怎么做的。

概念是创建一个 Sprite ,然后在一个时间间隔上改变背景位置。

sprite

const frameHeight = 102;
const frames = 15;
const div = document.getElementById("animation");
let frame = 0;
setInterval(function () {
const frameOffset = (++frame % frames) * -frameHeight;
div.style.backgroundPosition = "0px " + frameOffset + "px";
}, 100);
#animation { 
background-image: url(https://jumpingfishes.com/dancingpurpleunicorns/charging.png);
background-repeat: no-repeat;
height: 102px;
width: 140px;
}
<div id="animation"></div>

编辑:如果您不想创建 Sprite ,可以使用以下替代技术。将所有动画帧图像放在一个 div 中,并隐藏除第一个以外的所有图像。在您的 setInterval 函数中,更改显示的图像:

const frames = document.getElementById("animation").children;
const frameCount = frames.length;
let i = 0;
setInterval(function () {
frames[i % frameCount].style.display = "none";
frames[++i % frameCount].style.display = "block";
}, 100);
#animation img {
display: none;
}
#animation img:first-child {
display: block;
}
<div id="animation">
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging01.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging02.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging03.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging04.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging05.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging06.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging07.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging08.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging09.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging10.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging11.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging12.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging13.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging14.png" />
<img src="https://jumpingfishes.com/dancingpurpleunicorns/charging15.png" />
</div>

关于javascript - 使用 Javascript 的动画图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com