Pag格式在vue3中的简单使用方法

news2024/11/18 7:45:12

目前前端使用pag格式的方法比较少, 在这里我来简单实现一下pag格式在vue3中的使用方式。

第一步  先下载啦

npm i libpag

来对pag文件安装依赖

其次我们在自己想要引入的vue页面进行引入

<script setup>
import { ref, computed, watchEffect, nextTick } from 'vue';
import { PAGInit } from 'libpag';
 
PAGInit().then((PAG) => {
//此处特别要注意一点,你得看你的文件路径是否能够获取到你想要的pag格式文件,如果不行就用../的形式
//一层一层获取,目前在我的操作来看他目前貌似用不了 @/assets/XXX.pag的形式获取到想要的图片路径
//大家可以自行尝试看能否可以获取到对应的pag图片路径
  const url = './like.pag';  
  fetch(url)
    .then((response) => response.blob())
    .then(async (blob) => {
      const file = new window.File([blob], url.replace(/(.*\/)*([^.]+)/i, '$2'));
      const pagFile = await PAG.PAGFile.load(file);
      document.getElementById('pag').width = pagFile.width();
      document.getElementById('pag').height = pagFile.height();
      const pagView = await PAG.PAGView.init(pagFile, '#pag');
      pagView.setRepeatCount(0);
      await pagView.play();
    });
});
 
<script>
<template>
  <div> 
     <canvas class="canvas" id="pag"></canvas>
 </div>
<template>
 

到这一步 的时候  就会报错了

它说错误:PAGInit失败!请检查。wasm文件路径是否有效。

这种情况怎么解决呢   我们需要下载个webpack的插件

npm i copy-webpack-plugin

然后引入一下 

const CopyPlugin = require("copy-webpack-plugin");


const webpackPlugins = [
  new NodePolyfillPlugin(),
  new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn$/),

  new CopyPlugin({
    patterns: [
      {
        from: path.resolve(__dirname, "./node_modules/libpag/lib/libpag.wasm"),
        to: "./common/js",
      },
    ],
  }),
];

这是一个webpackcopy的插件  意思就是吧他的路径拷贝到我们打包后的文件里  这样就不会提示文件找不到了  就可以正常使用了!

ps:

 pagView.setRepeatCount(0);

  1. 动画播放次数的设置

    • 默认值:repeatCount属性的默认值是1,这意味着动画只会播放一次。
    • 无限播放:如果将repeatCount设置为0或者负数,动画将会无限次播放。
  2. 动画的控制方法

    • 播放动画:play方法用于从当前位置开始播放动画。如果动画已经在播放中,再次调用play方法不会有任何效果。
    • 暂停动画:pause方法用于在当前位置取消动画。调用play方法可以从上次暂停的位置恢复动画播放。
    • 停止动画:stop方法同样用于在当前位置取消动画,目前其效果与pause方法相同。

综上所述,pagView.setRepeatCount(0)这行代码的作用是将动画的重复次数设置为无限,使得动画可以不断地循环播放。在使用PAGView时,开发者可以通过调整repeatCount属性以及其他相关方法和属性来精细控制动画的播放行为。同时,需要注意PAGView在移动端应用中的内存占用问题,尤其是在处理大型动画或长时间播放时,可能需要对内存使用进行优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应用案例|精密制造中使用复合机器人得到显著提升

精密制造行业对设备的精度、稳定性和效率要求极高&#xff0c;而复合机器人凭借其多功能性、高度灵活性和精准控制能力&#xff0c;正逐渐成为该领域的新宠。以下是一个富唯智能复合机器人在精密制造中的应用案例。 案例背景 某知名汽车零部件制造企业&#xff0c;专注于生产…

光纤现网与接入网概念对应

OLT 一般在机房 一级分光可能在机房也可能在光交交接箱 路边的光交交接箱功能有分光或者光纤汇聚转换一下 二级分光在分光光纤箱里&#xff0c;楼道里面挂着的那种 ONU是家里的光猫

go语言的使用方法

一.go语言的介绍 1.简介 2.应用领域 3.使用go语言的公司 4.go语言开发工具介绍 5.go语言开发环境搭建 【1】搭建Go开发环境-安装和配置SDK 基本介绍: 1).SDK的全称(Software Development Kit软件开发工具包&#xff09;2).SDK是提供给开发人员使用的&#xff0c;其中包含了…

STM32实验之USART串口发送+接受数据(二进制/HEX/文本)

涉及三个实验&#xff1a; 1.USART串口发送和接收数据 我们使用的是将串口封装成为一个Serial.c模块.其中包含了 void Serial_Init(void);//串口初始化 void Serial_SendByte(uint8_t Byte);//串口发送一个字节 void Serial_SendArray(uint8_t *Array,uint16_t Length);//…

第一讲:单片机STC89C52+RA8889驱动控制彩屏(源码公开)

51单片机驱动控制彩屏系列讲座 第一讲&#xff1a;单片机STC89C52RA8889驱动控制彩屏&#xff08;源码公开&#xff09; 单片机通过SPI与RA8889进行通信&#xff0c;由于单片机是5V&#xff0c;RA8889是3.3V,故需要进行电平转换&#xff0c;有现成的模组TXS0108E等可以采用。…

VRTK4教程 一:资源导入、Unity设置、连接头盔

文章目录 VRTK4的分包导入VRTK4的资源包unity设置连接头盔 VRTK4的分包 vrtk4的资源包和旧版不同&#xff0c;采用了分包导入的思想&#xff0c;我们要用什么功能&#xff0c;就导入什么包&#xff0c;可以有效减小程序体积 如下图&#xff0c;已经导入的vrtk包会显示在Packag…

CentOS下安装SVN客户端及使用方法

一、前言 Subversion&#xff08;SVN&#xff09;是一款开源的版本控制系统&#xff0c;它可以帮助开发者追踪和管理代码、文档或其他文件的更改历史。在Linux系统中&#xff0c;特别是在CentOS环境下&#xff0c;安装和使用SVN客户端是日常工作中常见的任务。本文将介绍如何在…

【错误记录】HarmonyOS 运行报错 ( Failure INSTALL_PARSE_FAILED_USESDK_ERROR )

文章目录 一、报错信息二、问题分析三、解决方案 一、报错信息 在 DevEco Studio 中 , 使用 远程设备 , 向 P40 Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] compileSdkVersion and releaseType of the app do not match the apiVersion and releaseType on the device. 二、…

在outlook的邮件中插入HTML;HTML模板获取;页面组态手动生成HTML

本文介绍如何在outlook发送邮件时&#xff0c;在邮件中插入HTML&#xff0c;此HTML可以从获取模板自行进行修改。 文章目录 一、下载HTML模板&#xff08;或自己制作好HTML文件&#xff09;二、outlook新增宏三、新建邮件&#xff0c;插入HTML四、通过图像化页面组态手动生成HT…

[C#]使用C#部署yolov8-cls的图像分类的tensorrt模型

【测试通过环境】 win10 x64 vs2019 cuda11.7cudnn8.8.0 TensorRT-8.6.1.6 opencvsharp4.9.0 .NET Framework4.7.2 NVIDIA GeForce RTX 2070 Super 版本和上述环境版本不一样的需要重新编译TensorRtExtern.dll&#xff0c;TensorRtExtern源码地址&#xff1a;TensorRT-CShar…

汇舟问卷:国外问卷调一天900

大家好&#xff0c;我是汇舟问卷&#xff0c;专注于国外问卷调查互联网项目。夏天已经来临&#xff0c;您是否在三伏天顶着大太阳上班&#xff0c;汗水浸湿了衣襟&#xff0c;却依然要面对繁琐的工作和无尽的压力&#xff1f; 在这个炎热的季节里&#xff0c;我们都渴望找到一…

失落的方舟 命运方舟台服账号怎么注册 游戏账号最全图文注册教程

探索奇幻大陆阿克拉西亚的奥秘&#xff0c;加入《失落的方舟》&#xff08;Lost Ark&#xff09;这场史诗般的冒险。这是一款由Smilegate精心雕琢的MMORPG巨作&#xff0c;它融合了激烈动作战斗与深邃故事叙述&#xff0c;引领玩家步入一个因恶魔侵袭而四分五裂的世界。作为勇敢…

教学基本功包括什么技能有哪些

教师的工作不仅仅是传授知识&#xff0c;更多是引导学生探索&#xff0c;激发他们的创造力。要做到这一点&#xff0c;需要具备一些基本技能。 扎实的专业知识。这是教师的根基&#xff0c;如果教师自己对所教的科目都不熟悉&#xff0c;那么教学就会失去方向。不断学习更新自己…

29-ESP32-S3-WIFI篇-00 STA模式扫描全部 AP

ESP32-S3 WIFI_Driver 引言 ESP32-S3是一款集成了Wi-Fi和蓝牙功能的芯片。关于WIFI的部分&#xff0c;其实内容比我想象的要多得多。所以通常来说&#xff0c;如果你想要编写自己的Wi-Fi应用程序&#xff0c;最快捷的方法就是先找一个类似的示例应用&#xff0c;然后将它的相…

SC8205LA 20VN沟道增强型MOS(Mos)场效应管

特点 ❥专有的先进平面技术 ❥高密度超低电阻设计 ❥大功率、大电流应用 ❥理想的锂电池应用 ❥封装形式:SOT23-6

计算成像技术在信息复原及增强中的研究进展

​欢迎关注GZH《光场视觉》 摘要&#xff1a;计算成像是融合了光学设计、光学传感和图像处理的新兴技术领域&#xff0c;突破了传统成像技术获取信息的深度和广度限制&#xff0c;成为国际研究热点&#xff0c;是先进光学成像技术的重要发展方向。综合国内外文献和相关报道&am…

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11下使用SCP拷贝文件

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11下使用SCP拷贝文件 2024/5/29 20:48 1、ADB链接异常。 2、BT打开之后找不到设备&#xff1f; 不清楚&#xff1a;是我拿到的开发板的问题&#xff0c;还是Toybrick/Rockchip官方没有做好。 3、现在最新版本的WINSCP&…

Linux---网络相关配置

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 一台主机需要配置必要的网络信息&#xff0c;才可以连接到互联网&#xff0c;需要的配置网络信息包括IP&#xff0c;子网掩码&#xff0c;网关和DNS。 一.查看网络信息 查看IP信息可以通…

应用上架后的关键!苹果商店(AppStore)运营策略与技巧指南

1、运营期&#xff1a;怎么能活得好&#xff1f; ▍封号和下架问题 14天 在收到苹果封号通知&#xff08;我们将会在14天后封你的账号&#xff09;如果觉得冤枉可以在14天内进行申诉。14天并不是一个严格准确的时间&#xff0c;有可能会在第15天或者在第20天&#xff0c;甚至…

Kali 我来了

Kali 我来了 1、官网下载2、修改密码3、开启SSH远程登录服务4、关闭kali图形化界面 1、官网下载 官方链接: https://www.kali.org/ 下载链接: https://cdimage.kali.org/kali-2024.1/kali-linux-2024.1-vmware-amd64.7z 解压后 直接导入 VmWare 就可使用可爱的小 Kali 了。 …