vue canvas动效组件插件库制作

本文介绍了一个Vue组件库,提供了多种基于canvas的动画效果,包括霓虹灯(neon)和气泡(bubbles)等。支持ES6模块化导入及按需加载,适用于现代浏览器,如IE9+、Firefox、Chrome等。

vue-canvas-effect

canvas动画合集Vue组件




? online demo | ? English document

内容

  • [浏览器兼容]
  • [安装]
  • [使用]
    • [ES6]
      • [按需加载]
      • [全部引入]
    • [普通模式]
  • [组件列表]
    • [neon]
    • [bubbles]
  • [修改日志]
  • [贡献]
  • [TKS]

浏览器兼容


IE

Firefox

Chrome

Safari

iOS

Android
IE9+

安装

NPM

npm install vue-canvas-effect --save
复制代码

使用

ES6

按需加载

推荐 首先安装babel-plugin-import依赖

npm install babel-plugin-import --save-dev
复制代码

然后修改 .babelrc文件

// .babelrc
{
  "plugins": [["import", {
    "libraryName": "vue-canvas-effect",
    "libraryDirectory": "src/components"
  }]]
}
复制代码

然后,如果你需要neon组件,编辑main.js

import Vue from 'vue'
import {neon} from 'vue-canvas-effect';
Vue.component(neon.name, neon);
`or`
Vue.component('customName', neon);
new Vue({
  el: '#app',
  render: h => h(App)
})
复制代码
全部引入

不推荐

import Vue from 'vue'
import vueCanvas from 'vue-canvas-effect';
Vue.use(vueCanvas)
new Vue({
  el: '#app',
  render: h => h(App)
})
复制代码

普通模式

script 标签

<html>
<head>
  ...
</head>
<body>
   <div id="app">
        <neon-effect></neon-effect>
   </div>
   <script src="https://cdn.bootcss.com/vue/2.5.9/vue.js"></script>
   <script src="../dist/neon.min.js"></script>
   <script>
      new Vue({
           el: '#app'
        })
   </script>
</body>
</html>
复制代码

组件列表

neon

name: neonEffect

// 默认标签名
<neon-effect :options="options"></neon-effect>
复制代码
//default options
        {
          len: 20, //五边形的单边长度
          count: 50, //多少线重叠
          rate: 20, //速度 越小越快
          dieChance: 0.05, //单次绘画失败进行重绘的几率
          sparkChance: 0.1, //[0,1] 越大画出的五边形越多重
          sparkDist: 10, //闪烁点的距离
          sparkSize: 2,//闪烁点的大小
          contentLight: 60, // [0,100] 色块的亮度
          shadowToTimePropMult: 6, //五边形的内环阴影大小
          bgColorArr: [0, 0, 0] //背景色数组
        }
复制代码

bubbles

name: bubblesEffect

// 默认标签名
<bubbles-effect :options="options"></bubbles-effect>
复制代码
//default options
        {
          color: 'rgba(225,225,225,0.5)', //气泡颜色
          radius: 15, //气泡半径
          densety: 0.3, // 气泡密度 越大越密集(建议不要大于1)
          clearOffset: 0.2 // 气泡消失距离[0-1] 越大越晚消失
        }
复制代码

修改日志

See the GitHub 查看历史版本.

贡献

欢迎给出一些意见和优化,期待你的 Pull Request

实现的方式还是相对简单的有兴趣的朋友可以一起来完善下这个项目 让canvas动画在vue里面用起来更加快捷。

项目地址 vue-canvas-effect

TKS

circleMagic

转载于:https://juejin.im/post/5a79bb7b5188257a5850cb92

### VueCanvas 使用的案例网站 #### 在线 Demo 平台 为了更好地体验 `Vue` 结合 `Canvas` 的强大功能,可以访问一些提供在线演示的平台。这些平台不仅提供了丰富的交互式例子,还附带详细的文档说明和源码链接。 - **Vue Canvas Poster** 访问该项目的 GitHub 页面能够看到更多关于如何利用 `Vue` 创建态海报的信息[^3]。此项目展示了通过 `Vue.js` 控制 `Canvas` 实现复杂图形设计的能力。 #### 开发者社区与博客文章 许多开发者会在个人博客或是技术论坛分享自己使用 `Vue` 及其集成 `Canvas` 进行开发的经验和技术细节: - **基于 Canvas 的可缩放拖网格示例(Vue3以及TypeScript)** 此实例展示了怎样运用 `Vue3` 加上 TypeScript 构建一个支持鼠标操作来调整大小并移位置的网格布局系统[^2]。它充分体现了现代前端框架配合原生 Web 技术所能达到的果。 #### 特展示库 对于那些希望快速实现视觉冲击力强的应用程序来说,特类插件是非常好的选择之一: - **粒子字体组件** 查看这个名为 `<praticle-text>` 的自定义标签是如何轻松地将文字转换成由大量微小光点组成的果[^4]。该组件接受多个参数配置项以满足不同场景下的需求。 ```html <praticle-text :text="'粒子字体组件'" :text-size="40" :text-color="'#ff00ff'" :canvas-height="100" :canvas-width="500" :point-amount="5000"> </praticle-text> ``` 以上提到的例子都很好地证明了当把 `Vue` 同 `HTML5 Canvas` 联系起来时能创造出多么令人惊叹的作品!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值