[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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
官网直接安装的不支持vite+vue2的 主要修复: 1.build或者dev项目时不报错,兼容vite2,vue2; 2.加入deep监听watch,直接在父组件中修改图表中的config参数即可完成图表中的数据变更。 yarn npm cnpm pnpm可通用的,其实就是底层node_modules位置不一样而已,不过修改原理跟代码基本都是一直的,大家可以自行下载研究,windows macos linux均兼容。如果下载错了请私信我。 下面说下安装步骤: 1.在项目更目录中安装,执行pnpm install @jiaminghi/data-view即可; 2.https://github.com/jiaming743/Color查看最新的color版本号,压缩包里版本号未1.1.3,如果不是,这替换.pnpm下@jiaminghi+color@1.1.3文件夹名称,改为最新版本号。 3.将other_modules压缩包解压并覆盖到项目的node_modules文件夹下即可 调用方法,请参考官网文档http://datav.jiaminghi.com/
资源推荐
资源详情
资源评论
收起资源包目录
jiaminghi/data-view dataV for vite vue2 windows补丁 for pnpm (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
资源评论
多留活口少挖坑
- 粉丝: 18
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三菱入门练习软件-FX-TRN-BEG(练习逻辑的)FX-TRN-DATA(练习数据处理)FX-TRN-POS(练习定位)
- 1731980261161第六章机件常用的表达方法.pdf
- 51job_latest.apk
- 社交网络谣言核查f1 159 结果
- pimtempelaars-sql-in-dbeaver.pdf
- dbeaver-v-21-2.pdf
- FATP FA 02;FATP FA 02
- JavaWeb实践goods表的查询
- mmexport1731978754683.jpg
- Bifrost - 面向生产环境的 mysql,MariaDB,kafka 同步到Redis,MongoDB,ClickH
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功