这篇文章主要教大家如何使用Html5编写属于自己的画画板,进行绘画、调整颜色等操作,感兴趣的小伙伴们可以参考一下

最近了解到html5强大的绘图功能让我惊奇,于是,写了个小玩意---涂鸦板,能实现功能有:画画,改色,调整画笔大小

html5的绘图可以分为点,线,面,圆,图片等,点和线,这可是所有平面效果的基点,有了这两个东西,没有画不出来的东西,只有想不到的算法。

先上代码了:

html

XML/HTML Code复制内容到剪贴板

效果:

好了,一个简陋的画图界面就搞好啦,下面开始写一些画线的代码

JavaScript Code复制内容到剪贴板$.Draw = {};

$.extend($.Draw, {

D2: "",

CX:"",

Box: "mycavas",//画布id

BoxObj:function(){//画布对象

this.CX=document.getElementById(this.Box);

},

D2:function(){//2d绘图对象

this.D2 = this.CX.getContext("2d");

},

Cricle: function (x, y, r, color) {//画圆

if (this.D2) {

this.D2.beginPath();

this.D2.arc(x, y, r, 0, Math.PI * 2, true);

this.D2.closePath();

if (color) {

this.D2.fillStyle = color;

}

this.D2.fill();

}

},

init: function () {//初始化

this.BoxObj();

this.D2();

}

})

相信这里的简单代码大家都看得懂,主要就是创建了一个对象,包含创建画布,创建2d对象,画圆方法,和对象初始化方法。

接下里前台html页面来调用这个对象/p>

看代码:

JavaScript Code复制内容到剪贴板var color = "#000000";//初始化颜色

var size = 5;//初始化尺寸

document.getElementById('color1').onchange = function () {

color = this.value;

};

document.getElementById('size').onchange = function () {

size = this.value;

};

$.Draw.init();//初始化

var tag = false;//控制鼠标当前状态并起到开启油墨开关的作用

var current = {};//存储鼠标按下时候的点

document.onmousedown = function (option) {//鼠标按下事件

current.x = option.x;

current.y = option.y;

$.Draw.Cricle(option.x, option.y, size, color);

tag = true;

}

document.onmouseup = function () {//鼠标抬起事件

tag = false;

}

document.onmousemove = function (option) {//鼠标移动事件

if (tag) {

if (size >= 0) {

$.Draw.Cricle(option.x, option.y, size, color);

}

}

}

这段代码主要有如下几个意思

1.捕获颜色空间和拖动条控件的change事件,从而获取对应的颜色和尺寸的数值,存储下来供下面画线用

2.初始化画图对象

3.捕获鼠标的按下,抬起和移动事件,关键在一个开关可以控制油墨

好了,一个简单的涂鸦板就好了,上我的书法:

电脑PHP动画制作画板,涂鸦板简单实现 Html5编写属于自己的画画板相关推荐

  1. 高效工作——PPT动画制作【图文板(1)】

    今天,我来教大家如何制作PPT或PPTX动画.希望这对你能有所帮助.{提示:改变原文:查看本人的"高效工作--PPT动画制作[文字板(1)]"} 首先,打开WPS office,点 ...

  2. Canvas制作简易涂鸦板

    使用canvas可以做到许多意想不到的功能,尤其动画方面,这次在vue项目中使用canvas制作一个简易涂鸦板 1. html部分代码 <template><div id=" ...

  3. html5 制作书架展示 PHP,简单做出HTML5翻页效果文字特效

    简单做出HTML5翻页效果文字特效 之前在网上看到一款比较有新意的HTML5文字特效,文字效果是当鼠标滑过是出现翻开折叠的效果,类似书本翻页.于是我兴致勃勃的点开源码看了一下,发现其实实现也挺简单的, ...

  4. 电脑PHP动画制作画板,HTML_html5教程制作简单画板代码分享,HTML5制作简单画板 复制代码代 - phpStudy...

    html5教程制作简单画板代码分享 HTML5制作简单画板 复制代码代码如下: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min ...

  5. 电脑PHP动画制作画板,html5教程制作简单画板代码分享

    HTML5制作简单画板 复制代码代码如下: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">> ...

  6. 电脑PHP动画制作画板,三分钟HTML5画布(Canvas)动画教程

    此文下面的教程中将使用的是另外一个叫做kinetic的Web动画工具包. 它们都是开源的. 把鼠标放到上面的小丑脸上,然后移开,就会有如下效果. 第一步,画五官 这个小丑没有耳朵和眉毛,所以只剩下三官 ...

  7. vue页面绘图_利用vue制作在线涂鸦板

    效果展示 Canvas API简介 调用方法 getImageData() 返回ImageData对象,该对象为画布上指定的矩形复制像素数据 putImageData() 把图像数据(从指定的 Ima ...

  8. CG动画制作项目第一篇:剧本的编写,前期工作的敲定

    在这一阶段,我们已经开始敲定我们的剧本,并且准备好我们的分镜.小组的讨论起到了很大的作用.主角有两个,我们在两个角色的出场时间或者是"戏份"上做了很多的调整.以及我们提前定下了我们 ...

  9. 简单实用 铃铛运动动画制作AE教程

    铃铛的摆动是有一定幅度和要求的,我们要如何通过AE制作铃铛动画呢?接下来就给大家分享一波铃铛晃动的技巧. 铃铛晃动动画AE教程 1.在绘图工具中绘制铃铛本体和铛簧,选中之后导入AE: 2.铃铛本体锚点 ...

最新文章

  1. android 之 Intent、broadcast
  2. 在请求完成后回调delegate的方法。然而回调时经常遇到这种情况:delegate已经被释放...
  3. FastDFS_install_document_detail
  4. php 获取内容页图片,织梦DEDECMS内容页获取图片URL地址的方法
  5. 谈谈实习期间应该注意的几点问题,助你早日拿到转正offer
  6. Linux 内核自旋锁
  7. (十七)Java springcloud B2B2C o2o多用户商城 springcloud架构-消息驱动 Spring Cloud Stream...
  8. 聚类算法分析及其性能比较
  9. 高数复习: 多元函数微分学及其应用
  10. typora插入文件到服务器,写作神器Typora入门指南
  11. 平安夜关于苹果的题目——1705. 吃苹果的最大数目
  12. 小程序通过background-image设置背景图片
  13. 清华大学计算机秦凌霄,海南25名考生获得北大清华自主招生入选资格
  14. 金融信息破局刍议【4】长尾效应
  15. Schema for type Unit is not supported
  16. Android 腾讯Bugly的应用升级热更新
  17. “双一流”哈尔滨工程大学成立人工智能有关学院,打造一流学科群!
  18. 一个成功的BI项目实施需要注意哪些? 1
  19. vue.config.js配置configureWebpack的optimization splitChunks页面空白
  20. 【报错】unhandled error during execution of watcher callback

热门文章

  1. SAP中由生产版本有误导致的生产报工时提示“错误确定成本核算”问题实例
  2. C语言数字图像处理---2.1 二值图像形态学算法
  3. python str center_Python str方法总结
  4. Sketch 插件开发指南
  5. 【Excel2019(十七):数学函数】【Round函数+Roundup函数+Rounddown函数+Int函数+Mod函数】
  6. 如何轻松高效开展设备巡检?
  7. 4pycharm与jupyter使用对比
  8. Ubuntu暂时无法解析域名“cn.archive.ubuntu.com”
  9. 这个Excel函数,推荐所有人学习!HR都说必须会
  10. TP3.2中filed和find()使用