微信小程序中使用svga动画

2023-11-16

参考资料:https://github.com/svga/SVGAPlayer-Web/tree/mphttps://github.com/svga/SVGAPlayer-Web/tree/mp

也可以参考:(我主要参考的上面的)https://github.com/svga/svgaplayer-weappicon-default.png?t=LA92https://github.com/svga/svgaplayer-weapp

svg在线预览地址:SVGA动画播放预览SVGA 是一种同时兼容 iOS / Android / Flutter / Web 多个平台的动画格式。https://svga.jiangxinniang.com 

我的svga预览如下:

由上图可知,svg宽=300,高==300,但是组成svg各个组件的大小有的小于300*300,有的大于300*300.

此时,请找设计重新出图,让各个层级大小尽量==svg的宽高,至少不能超出svg的大小。

原因是因为我们小程序 用的canvas渲染的svg,超出svg大小的会被裁减掉。

虽然文档里面有提供setClipsToBounds(false),超出部分不进行裁剪,但是我貌似并没有实现。

按照文档,一步一步来实现。

  1. 下载build文件夹到项目根目录;
  2. 在需要渲染svg的js里引入svga.min.js
    const SVGA = require("../build/svga.min.js")

  3. 在要渲染svg的wxml中添加如下canvas:宽==svg的宽度,高==svg的高度

    <canvas type="2d" style="width: 300px; height:300px; background-color: black" id="myCanvas"></canvas>

  4. 加载动画并实现播放:

    const SVGA = require("../build/svga.min.js")
    
    const app = getApp()
    
    Page({
      data: {
    
      },
      onReady: function () {
        let parser = new SVGA.Parser()
        let player = new SVGA.Player(wx.createSelectorQuery().in(this).select("#myCanvas"))
    //获取到myCanvas需要时间,这里最好加一个延时
         let svgFlag = setTimeout(() => {
            parser.load("https://github.com/svga/SVGA-Samples/raw/master/angel.svga", function (videoItem) {
              player.clear();
              player.setVideoItem(videoItem);
              player.startAnimation();
              
            })
            clearTimeout(svgFlag)
          }, 200)
     
      },
    })
    

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序中使用svga动画 的相关文章

  • Angular svg不同实例共享相同的defs

    我有一个角度组件 我在其中使用 def 更改电池 svg 状态填充
  • 在视图内调整 SVG 图像的大小

    我有一个 FloatingActionButton 其 SVG 图像绑定到它的 src 属性 但它没有显示我需要的尺寸 如何调整它的大小以显示更大的图像 这是我的画
  • 黑白 PNG 转 SVG

    我有一个河流 土地掩码来区分土地与河流 湖泊 该文件的大小为 W 43 200x H 21 600 由于 RAM 立即填满 因此无法打开该文件 我已将文件分成 3600 3600 块 它们可以正常打开 然而 我试图在谷歌地图中绘制陆地上的文
  • 如何在不违反 MVVM 的情况下绑定到不可绑定的属性?

    我在用SharpVector 的 SvgViewBox https sharpvectors codeplex com 显示静态资源图像 如下所示
  • 内联 svg 不显示在 xhtml 中

    我创建了一个带有内联 SVG 的 XHTML 文件 当测试为 XHTML 时 它不会显示 但当测试为 HTML 时 它会显示 我已经搜索过互联网并相信我已经指定了正确的名称空间等 但是 我很困惑为什么它没有显示 请帮助我理解我做错了什么 注
  • 如何获取 svgElement 的比例?

    我正在研究 svg div style width 300 height 300 div
  • SVG 文本元素上的 CSS 转换在 Safari 中不起作用

    尝试在父 SVG 中放置电池指示器 SVG
  • D3.js分组条形图

    I am making a bar chart using D3 js like this source statcan gc ca http www statcan gc ca pub 12 593 x 2007001 figures f
  • 仅当现有填充颜色为特定值时才填充 SVG

    我正在使用此代码来更改 SVG 对象的填充颜色 它可以工作 function g mouseenter function path rect circle this attr fill 00C8C8 但是 我只想在现有填充颜色具有特定值时更
  • 如何在没有 DOM 的情况下将 javascript 作为 node.js 脚本运行?

    https github com jasondavies d3 cloud https github com jasondavies d3 cloud是一个使用 D3 库的 javascript 文字云 这是一个交互式演示 http www
  • 使用“SVG 多边形”悬停状态在“SVG”之后淡入 div

    有没有一个只用CSS来解决这个问题的方法 我希望能够在 SVG 之后淡入 div 但前提是用户将鼠标悬停在 SVG 多边形上 代码看起来像这样
  • SVG 图标像素对齐?

    在此图像中 左侧 黑色 垃圾桶是图标字体 它的字体大小是 16px 这使得图标在 100 的时间里看起来都很清晰 两个蓝色垃圾桶是 SVG 它们具有完全相同的标记 其中之一happened一个是像素对齐的 另一个不是 我怎样才能强制我的 S
  • SVG 中三角形的圆角

    我正在尝试制作一个具有圆角的三角形 三角形将如下所示 左下角是唯一看起来相当容易制作的角 主要是因为这是一个 90 度的 转弯 该转弯是使用QSVG 中的命令具有以下参数 Q x y height x y height RADIUS从我正在
  • 自定义 SVG 未加载到我的图像标签中

    目前我正在尝试将自定义 svg 组件加载到图像标签内 但由于某种原因 我无法看到地图组件内的 svg 图像 我的自定义 SVG 文件如下所示 我在 SVG 中加载另一个图像
  • SVG 文本无法在 Chrome 或 Safari 中呈现

    我有一些 SVG 文本在 Firefox 上运行良好 但在 Chrome 和 Safari 中却没有出现 我努力了 向 svg 容器添加填充 以防文本被隔断 从文本中删除 xml space preserve 添加内联填充颜色
  • 为什么将 x 和 y 设置为 0 时 svg 文本会消失?

    我刚刚开始阅读有关svg我提出了以下问题 我正在创建一个简单的svg with a text里面如下图所示 从我的阅读中我了解到x and y of the text标签声明文本在标签内的位置svg space 为什么当我同时设置x and
  • 如何在 React Native 上显示 SVG 文件?

    我想显示 svg 文件 我有一堆 svg 图像 但我找不到显示的方式 我尝试使用Image and Use的组成部分反应本机 svg https github com magicismight react native svg但他们不这样做
  • D3 将现有 SVG 字符串(或元素)追加(插入)到 DIV

    我到处寻找这个问题的答案 并找到了一些我认为可能有用的资源 但最终没有让我找到答案 这里有一些 外部SVG http bl ocks org mbostock 1014829 嵌入SVG https stackoverflow com qu
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • 增加 D3 图中边缘的可点击区域

    我有一个由 d3 制作的图 dagre d3 位于其顶部用于绘制有向图 这给出了我对渲染图表的期望 要编辑构建图表的数据 每个元素都是可单击的 这对于使用标签渲染边缘的情况来说很好 但它们并不总是有标签 导致未标记的边缘很难单击进行编辑 分

随机推荐