轻量级 Canvas 绘图库 OkayPainter

码农软件 · 软件分类 · 图像(Image) · 2019-05-29 12:12:02

软件介绍

OkayPainter 是一个轻量级的Canvas框架库,提供了Canvas基本图形图像、动画、层、鼠标键盘事件管理机制。

使用OkayPainter

OkayPainter 码云地址:https://gitee.com/djxfire/OkayPainter ,也可以使用 npm install okaypainter下载。 在 dist 目录下找到okay-painter.min.js

引入OkayPainter

在使用 引入OkayPainter 前,需要在 HTML 中加载对应 JavaScript 文件:

<script type = "javascript" src = "okay-painter.min.js"></script>

创建画布

在使用OkayPainter时,我们必须新建一个Canvas对象,并且需要一个DOM容器:

<div id = "canvas" style = "width:500px;height:600px;"></div>

 let canvas = new okay.Canvas({
        ele: 'canvas'
})

Canvas类只接受ID属性作为参数。至此我们已经在ID为canvas的DIV里创建了canvas节点,输出结果为:

<div id = "canvas" style = "width:500px;height:600px;">
    <canvas width = "500" height="600" tabindex="0" style = "outline:none;">
</div>

在画布中添加元素

OkayPainter提供多种基本图形。我们可以直接通过canvas的addChild添加元素,以下添加了一个圆:

let canvas = new okay.Canvas({
    ele: 'canvas'
})
let circle = new okay.Circle(100)
circle.setPosition(300, 300)
circle.setColor(new okay.Color(255,0,0,255))
canvas.addChild(circle)
canvas.paint()

创建了一个圆心在(300,300)位置,半径为100,颜色为红色的圆。

为元素添加事件

我们可以直接通过元素的Node.addEventListener方法为元素添加事件,以下为元素添加点击事件:

let canvas = new okay.Canvas({
    ele: 'canvas'
})
let circle = new okay.Circle(100)
circle.setPosition(300, 300)
circle.setColor(new okay.Color(255,0,0,255))
canvas.addChild(circle)
circle.addEventListener(okay.Event.Type.EVENT_MOUSE_DOWN, (event, obj) => {
    alert('点击了圆')
})
canvas.paint()

当用户点击圆时将执行alert

为元素添加动画

我们可以直接通过元素的Node.runAction运行动画效果,以下为元素添加平移动画:

let canvas = new okay.Canvas({
    ele: 'canvas',
    canAction:true
})
let circle = new okay.Circle(100)
circle.setPosition(300, 300)
circle.setColor(new okay.Color(255,0,0,255))
canvas.addChild(circle)
circle.addEventListener(okay.Event.Type.EVENT_MOUSE_DOWN, (event, obj) => {
    let mvAction = new okay.ActionMove(new okay.Point(100, 100),3)
    circle.runAction(mvAction)
})
canvas.paint()

上述例子点击圆时圆将在3秒内移动到点(100,100)处。

本文地址:https://codercto.com/soft/d/6797.html

以匠心,致设计:网易 UEDC 用户体验设计

以匠心,致设计:网易 UEDC 用户体验设计

网易用户体验设计中心 / 电子工业出版社 / 2018-8 / 95.00元

为什么网易云音乐的体验流畅细腻、富有温度?为什么网易严选App的UI设计让人感到温馨、舒适?为什么网易蜗牛读书App的界面设计让用户爱不释手…… 《以匠心,致设计:网易 UEDC 用户体验设计》是网易用户体验设计团队对自身过去的设计思考的精心总结,最大程度还原了网易产品背后的设计故事,内容涵盖设计基础、设计实践、方法思考、成长指南四章,借助网易产品设计的实际案例具体讲述了设计师日常工作中不可......一起来看看 《以匠心,致设计:网易 UEDC 用户体验设计》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具