[ENGLISH](./README_EN.md)
<h1 align="center">CRender</h1>
<p align="center">
<a href="https://travis-ci.com/jiaming743/CRender"><img src="https://img.shields.io/travis/com/jiaming743/CRender.svg" alt="Travis CI"></a>
<a href="https://github.com/jiaming743/CRender/blob/master/LICENSE"><img src="https://img.shields.io/github/license/jiaming743/CRender.svg" alt="LICENSE" /></a>
<a href="https://www.npmjs.com/package/@jiaminghi/c-render"><img src="https://img.shields.io/npm/v/@jiaminghi/c-render.svg" alt="version" /></a>
</p>
### CRender是干什么的?
- 它是一个基于**canvas**的**矢量**图形渲染插件。
- 它对图形提供动画和鼠标事件支持。
### npm安装
```shell
$ npm install @jiaminghi/c-render
```
### 快速体验
```html
<!--资源位于个人服务器仅供体验和测试,请勿在生产环境使用-->
<!--调试版-->
<script src="http://lib.jiaminghi.com/crender/crender.map.js"></script>
<!--压缩版-->
<script src="http://lib.jiaminghi.com/crender/crender.min.js"></script>
<script>
const { CRender, extendNewGraph } = window.CRender
// do something
</script>
```
详细文档及示例请移步[HomePage](http://crender.jiaminghi.com).
- [使用](#使用)
- [Class CRender](#class-crender)
- [Class Graph](#class-graph)
- [Class Style](#class-style)
- [示例](#示例)
- [扩展新图形](#扩展新图形)
- [相关支持](#相关支持)
------
<h3 align="center">使用</h3>
```javascript
import CRender from '@jiaminghi/c-redner'
const canvas = document.getElementById('canvas')
// 实例化 CRender
const render = new CRender(canvas)
// 向render中添加图形
const circle = render.add({ name: 'circle', ... })
```
<h3 align="center">Class CRender</h3>
### 类
```javascript
/**
* @description Class of CRender
* @param {Object} canvas Canvas 节点
* @return {CRender} CRender实例
*/
class CRender {
// ...
}
```
### 实例属性
- [ctx](#ctx)
- [area](#area)
- [animationStatus](#animationStatus)
- [graphs](#graphs)
- [color](#color)
- [bezierCurve](#bezierCurve)
#### ctx
```javascript
/**
* @description canvas context
* @type {Object}
* @example ctx = canvas.getContext('2d')
*/
```
#### area
```javascript
/**
* @description canvas宽高
* @type {Array<Number>}
* @example area = [300,100]
*/
```
#### animationStatus
```javascript
/**
* @description render是否处于动画渲染中
* @type {Boolean}
* @example animationStatus = true|false
*/
```
#### graphs
```javascript
/**
* @description 已添加的图形
* @type {Array<Graph>}
* @example graphs = [Graph, Graph, ...]
*/
```
#### [color](https://github.com/jiaming743/color)
```javascript
/**
* @description 颜色插件
* @type {Object}
*/
```
#### [bezierCurve](https://github.com/jiaming743/BezierCurve)
```javascript
/**
* @description 贝塞尔曲线插件
* @type {Object}
*/
```
### 原型方法
- [add](#add)
向render中添加图形
- [clone](#clone)
克隆一个图形
- [delGraph](#delGraph)
删除render中的一个图形
- [delAllGraph](#delAllGraph)
删除render中所有的图形
- [drawAllGraph](#drawAllGraph)
渲染render中所有的图形
- [clearArea](#clearArea)
擦除canvas绘制区域
- [launchAnimation](#launchAnimation)
使动画队列不为空且animationPause不为false的图形进行动画
#### add
```javascript
/**
* @description 向render中添加图形
* @param {Object} config 图形配置
* @return {Graph} 图形实例
*/
CRender.prototype.add = function (config = {}) {
// ...
}
```
#### Clone
```javascript
/**
* @description 克隆一个图形
* @param {Graph} graph 将要被克隆的图形
* @return {Graph} 克隆的图形
*/
CRender.prototype.clone = function (graph) {
}
```
#### delGraph
```javascript
/**
* @description 删除render中的一个图形
* @param {Graph} graph 将要删除的图形实例
* @return {Undefined} 无返回值
*/
CRender.prototype.delGraph = function (graph) {
// ...
}
```
#### delAllGraph
```javascript
/**
* @description 删除render中所有的图形
* @return {Undefined} 无返回值
*/
CRender.prototype.delAllGraph = function () {
// ...
}
```
#### drawAllGraph
```javascript
/**
* @description 渲染render中所有的图形
* @return {Undefined} 无返回值
*/
CRender.prototype.drawAllGraph = function () {
// ...
}
```
#### clearArea
```javascript
/**
* @description 擦除canvas绘制区域
* @return {Undefined} 无返回值
*/
CRender.prototype.clearArea = function () {
// ...
}
```
#### launchAnimation
```javascript
/**
* @description 使动画队列不为空且animationPause不为false的图形进行动画
* @return {Promise} Animation Promise
*/
CRender.prototype.launchAnimation = function () {
// ...
}
```
<h3 align="center">Class Graph</h3>
### 实例属性
**当添加一个图形时,你可以配置这些属性。**
- [visible](#visible)
- [shape](#shape)
- [style](#style)
- [drag](#drag)
- [hover](#hover)
- [index](#index)
- [animationDelay](#animationDelay)
- [animationFrame](#animationFrame)
- [animationCurve](#animationCurve)
- [animationPause](#animationPause)
- [hoverRect](#hoverRect)
- [mouseEnter](#mouseEnter)
- [mouseOuter](#mouseOuter)
- [click](#click)
#### visible
```javascript
/**
* @description 该图形是否可被渲染
* @type {Boolean}
* @default visible = true
*/
```
#### shape
```javascript
/**
* @description 图形形状数据
* @type {Object}
*/
```
#### [style](#Class-Style)
```javascript
/**
* @description 图形样式数据 (Style实例)
* @type {Style}
*/
```
#### drag
```javascript
/**
* @description 是否启用拖拽功能
* @type {Boolean}
* @default drag = false
*/
```
#### hover
```javascript
/**
* @description 是否启用悬浮检测
* @type {Boolean}
* @default hover = false
*/
```
#### index
```javascript
/**
* @description 图形渲染层级,层级高者优先渲染
* @type {Number}
* @default index = 1
*/
```
#### animationDelay
```javascript
/**
* @description 动画延迟时间(ms)
* @type {Number}
* @default animationDelay = 0
*/
```
#### animationFrame
```javascript
/**
* @description 动画帧数
* @type {Number}
* @default animationFrame = 30
*/
```
#### [animationCurve](https://github.com/jiaming743/transition)
```javascript
/**
* @description 动画缓动曲线
* @type {String}
* @default animationCurve = 'linear'
*/
```
#### animationPause
```javascript
/**
* @description 是否暂停图形动画
* @type {Boolean}
* @default animationPause = false
*/
```
#### hoverRect
```javascript
/**
* @description 矩形悬浮检测盒,配置该项则优先使用其进行鼠标悬浮检测
* @type {Null|Array<Number>}
* @default hoverRect = null
* @example hoverRect = [0, 0, 100, 100] // [矩形起始点 x, y 坐标, 矩形宽, 高]
*/
```
#### mouseEnter
```javascript
/**
* @description 鼠标进入图形事件处理器
* @type {Null|Function}
* @default mouseEnter = null
*/
```
#### mouseOuter
```javascript
/**
* @description 鼠标移出图形事件处理器
* @type {Null|Function}
* @default mouseOuter = null
*/
```
#### click
```javascript
/**
* @description 鼠标点击图形事件处理器
* @type {Null|Function}
* @default click = null
*/
```
#### Tip
启用图形的**mouseEnter**,**mouseOuter**,**click**等事件支持需要将`hover`属性配置为`true`。扩展的新图形需要配置**hoverCheck**方法以提供事件支持。
### 原型方法
- [attr](#attr)
更新图形状态
- [animat
没有合适的资源?快使用搜索试试~ 我知道了~
jiaminghi/data-view dataV for vite vue2 补丁 for npm/yarn
共455个文件
js:233个
vue:76个
css:38个
5星 · 超过95%的资源 2 下载量 62 浏览量
2023-04-13
21:47:44
上传
评论
收藏 1.91MB ZIP 举报
温馨提示
官网直接安装的不支持vite2/3+vue2的 主要修复: 1.build或者dev项目时不报错,兼容vite2/vite3,vue2; 2.加入deep监听watch,直接在父组件中修改图表中的config参数即可完成图表中的数据变更。 yarn npm cnpm pnpm可通用的,就是底层node_modules位置不一样而已,不过修改原理都是一样的,大家可以自行下载研究,支持windows,macos跟linux。 下面说下安装步骤: 1.在项目更目录中安装,执行npm install @jiaminghi/data-view即可; 2.将other_modules压缩包解压并覆盖到项目的node_modules文件夹下即可 调用方法,请参考官网文档http://datav.jiaminghi.com/ npm下也可以通过patch-package库包自行定制补丁,下载npm install时就不用手动复制了,大家可以自己研究下的。
资源推荐
资源详情
资源评论
收起资源包目录
jiaminghi/data-view dataV for vite vue2 补丁 for npm/yarn (455个子文件)
.babelrc 105B
.babelrc 105B
.babelrc 105B
.babelrc 105B
.babelrc 99B
main.css 1KB
main.css 1KB
main.css 1KB
main.css 868B
main.css 689B
main.css 669B
main.css 616B
main.css 547B
main.css 523B
main.css 510B
main.css 502B
main.css 471B
main.css 386B
main.css 382B
main.css 382B
main.css 361B
main.css 295B
main.css 295B
main.css 292B
main.css 292B
main.css 279B
main.css 279B
main.css 243B
main.css 229B
main.css 192B
main.css 188B
main.css 159B
main.css 140B
main.css 119B
main.css 119B
main.css 117B
main.css 107B
main.css 107B
main.css 107B
main.css 70B
main.css 69B
main.css 59B
main.css 52B
easeOutQuint.gif 78KB
easeOutQuart.gif 74KB
easeOutQuad.gif 66KB
easeOutCubic.gif 66KB
easeInOutQuad.gif 63KB
easeOutSine.gif 62KB
easeInOutCubic.gif 61KB
easeInOutSine.gif 61KB
easeInOutQuart.gif 61KB
easeInOutQuint.gif 60KB
linear.gif 59KB
easeInSine.gif 59KB
easeInQuad.gif 59KB
easeOutBounce.gif 57KB
easeInBounce.gif 57KB
easeInCubic.gif 54KB
easeInOutBounce.gif 53KB
easeInQuart.gif 52KB
easeInBack.gif 51KB
easeOutElastic.gif 51KB
easeInOutBack.gif 50KB
easeOutBack.gif 50KB
easeInOutElastic.gif 50KB
easeInQuint.gif 48KB
easeInElastic.gif 44KB
smoothlineClosed.html 2KB
polylineClosed.html 2KB
smoothline.html 2KB
polyline.html 2KB
launchAnimation.html 2KB
extendNewGraph.html 1KB
drawAllGraph.html 1KB
sector.html 1KB
delAllGraph.html 1KB
clearArea.html 1KB
arc.html 1KB
rect.html 1KB
regPolygon.html 1KB
ellipse.html 1KB
circle.html 1KB
ring.html 1KB
text.html 1KB
bezierCurveClosed.html 1KB
delGraph.html 1KB
bezierCurve.html 1KB
clone.html 1KB
umdExample.html 877B
electronic-file.jpg 118KB
manage-desk.jpg 101KB
construction-data.jpg 99KB
1.jpg 2KB
2.jpg 2KB
3.jpg 2KB
datav.map.vue.js 712KB
crender.map.js 408KB
datav.min.vue.js 274KB
crender.min.js 96KB
共 455 条
- 1
- 2
- 3
- 4
- 5
资源评论
- 芊暖2023-07-27该文件提供的功能很全面,满足了我对数据展示的各种需求。
- 食色也2023-07-27这个文件真的太实用了,为我的项目提供了很多方便。
- 断脚的鸟2023-07-27虽然有一些小问题需要解决,但总体来说,这个文件给我的开发带来了很大的便利。
- 东郊椰林放猪散仙2023-07-27使用了这个文件后,我发现代码的可读性和可维护性都有了明显的提升。
- 方2郭2023-07-27不得不说,这个文件的设计十分巧妙,能够让我更高效地处理数据。
多留活口少挖坑
- 粉丝: 18
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功