首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用动画制作视频?

如何用动画制作视频?
EN

Stack Overflow用户
提问于 2021-05-05 10:52:27
回答 1查看 102关注 0票数 0

我希望为Mac创建一个软件,该软件将拍摄一组图片,如下面的示例所示的图片排列,并让用户输出一段视频,使每幅图片动画化,形成图片排列。

我正在寻找的指针,以了解如何做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2021-05-11 21:29:24

一种方法是创建一个电子应用程序。

在html5画布上很容易将这样的照片动画化,并且可以使用类似于CCapture.js的东西保存导出的视频

有关具有基本动画并将视频保存为webm的简化示例,请参见这里

代码语言:javascript
复制
window.addEventListener('load', function() {
  var
    imgNW = new Image(),
    imgNE = new Image(),
    imgSE = new Image(),
    imgSW = new Image(),
    canvas = document.getElementById('myCanvas'),
    ctx = canvas.getContext('2d');

  var fps = 30;

  var animation_offset = 0;

  var frameRequestID;

  imgNW.crossOrigin = "anonymous";
  imgNE.crossOrigin = "anonymous";
  imgSE.crossOrigin = "anonymous";
  imgSW.crossOrigin = "anonymous";

  imgNW.src = 'https://i.imgur.com/po6Bma2.png';
  imgNE.src = 'https://i.imgur.com/WT75J7k.png';
  imgSE.src = 'https://i.imgur.com/pvDnwSD.png';
  imgSW.src = 'https://i.imgur.com/BYXjccx.png';


  function draw() {
    capturer.capture(canvas);
    if (animation_offset <= 210) {
      ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
      ctx.fillStyle = "white";
      ctx.fillRect(0, 0, canvas.width, canvas.height);

      var coord = animation_offset - 200;
      var invCoord = 420 - animation_offset;

      ctx.drawImage(imgNW, coord, coord);
      ctx.drawImage(imgNE, invCoord, coord);
      ctx.drawImage(imgSE, invCoord, invCoord);
      ctx.drawImage(imgSW, coord, invCoord);

      animation_offset += 1; //effectively adjusts the speed.  smaller numbers = slower movement

      frameRequestID = requestAnimationFrame(draw);
    } else {
      console.log("done!");
      capturer.stop();
      capturer.save();
      cancelAnimationFrame(frameRequestID);
    }
  }



  var capturer = new CCapture({
    format: 'webm',
    verbose: true,

  });
  capturer.start();

  draw();

}, false);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67399891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档