Html5用Canvas制作画图板

需求:

  1. 绘制多边形
  2. 可填充颜色
  3. 可设置文字
  4. 可移动,可删除
  5. 鼠标按住后,抬起之前线段应该尾随鼠标当前位置
  6. 可与后台方便的进行数据交互,保存到后台,或将数据从后台取到前台显示对应的图形

思考:

  1. 第一想到的是找现成的改一改,找来找去,就认为fabricjs还能够,只是研究了一下,发现样例太少,非常难短时间内上手
  2. 想到了近期一直想研究确没时间看的Html5,正巧之前也买了一本关于Canvas游戏开发的书,想试试看,没想到非常快就上手了

结果:

一天半时间完毕,效果例如以下:

注意:

  1. 不要使用style或者css对canvas的width和height设置值,否则会引起坐标等被放大的问题
  2. 使用jquery获取canvas的时候要使用 “$(‘#canvas‘).get(0)”,否则则取不到对应的对象
  3. 调色板使用的是“spectrum.js”
  4. 取值赋值採用json模式,使用过的是“jquery.json-2.4.js”
  5. 採用json赋值的时候,由于我对图形进行了js封装类,且带有自己定义方法,所以在赋值的时候会出现不认自己定义方法的问题,原由于解析json的时候,对象会被解析为object而不是我定义的对象,所以须要人为处理一下
  6. 所有代码+HTML一共600行,这在曾经是我全然不敢想象的,HTML5会带给我们如何的未来呢?值得期待。
时间: 2024-10-01 12:20:59

Html5用Canvas制作画图板的相关文章

Html5用Canvas制作绘图板

需求: 绘制多边形 可填充颜色 可设置文字 可移动,可删除 鼠标按住后,抬起之前线段应该跟随鼠标当前位置 可与后台方便的进行数据交互,保存到后台,或将数据从后台取到前台显示相应的图形 思考: 第一想到的是找现成的改一改,找来找去,就觉得fabricjs还可以,不过研究了一下,发现例子太少,很难短时间内上手 想到了最近一直想研究确没时间看的Html5,正巧之前也买了一本关于Canvas游戏开发的书,想试试看,没想到很快就上手了 结果: 一天半时间完成,效果如下: 注意: 不要使用style或者cs

HTML5标签canvas制作平面图

摘要: HTML5规范已经完成了,互联网上已经有数不清的站点使用了HTML5.从现在开始研究HTML5,本文是自己在学习canvas过程中的记录,以备后需. 历史: 这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上.canvas标记由 Apple 在 Safari 1.3 Web 浏览器中引入.对 HTML 的这一根本扩展的原因在于,HTML 在 Safari 中的绘图能力也

HTML5标签canvas制作动画

摘要: canvas可以绘制图像,自然而然的就可以制作动画,因为动画的每一帧都是图像.我们可以利用javascript的setInterval函数来实现动画效果. 下面是一个例子,小圆绕着红点圆心不停的转圆圈. 代码: 1 <canvas id="myCanvas" width="300" height="300"> 2 您的浏览器不支持canvas! 3 </canvas> 4 <script> 5 var

利用HTML5的canvas制作万花筒动画特效

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <style> 5 #canvas{ 6 background-color:#cccccc; 7 8 } 9 </style> 10 <script> 11 window.onload=function(){ 12 var canvas=document.getElementById("canvas"); 13 var cobj=canva

HTML5中canvas如何画虚线

虚线也可以看成是一段段的实线组成的,而实线是利用context.moveTo(x,y);context.lineTo(x2,y2);context.stroke(); 那么我们就可以利用context的基本方法来完成虚线的实现原理,如下: var context = document.getElementById('canvas').getContext('2d'); //求斜边长度 function getBeveling(x,y) { return Math.sqrt(Math.pow(x,

html5 js canvas中画星星的函数

function drawStar(cxt, x, y, outerR, innerR, rot) { cxt.beginPath(); for (var i = 0; i < 5; i++) { cxt.lineTo(Math.cos((18+i*72-rot)/180*Math.PI)*outerR+x, -Math.sin((18+i*72-rot)/180*Math.PI)*outerR+y); cxt.lineTo(Math.cos((54 + i * 72 - rot) / 180

如何使用 HTML5 Canvas 制作水波纹效果

原文:如何使用 HTML5 Canvas 制作水波纹效果 今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javascript 就可以创建一个很有趣的解决功能. 在线演示      源码下载 Step 1. HTML 和以前一样,首先是 HTML 代码: <!DOCTYPE html> <html> <head> <meta

html5中用canvas画八大行星围绕太阳转

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8&

HTML5之Canvas画正方形

1.设计源码 <!DOCTYPE html> <head> <meta charset="utf-8" /> <title>HTML5之Canvas画正方形</title> <script type="text/javascript"> function drawFour(id) { //获取canvas元素 var canvas = document.getElementById("