- 浏览: 91760 次
- 性别:
- 来自: 苏州
文章分类
最新评论
<!DOCTYPE html>
<html>
<head>
<title>HTML5 Canvas塗鴉板</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.js">
</script>
<style>
body,input { font-size: 9pt; }
#dCanvas,#dLine { clear: both; }
.option
{
float: left; width: 20px; height: 20px; border: 2px solid #cccccc;
margin-right: 4px; margin-bottom: 4px;
}
.active { border: 2px solid black; }
.lw { text-align: center; vertical-align: middle; }
img.output { border: 1px solid green; }
#cSketchPad { cursor: arrow; }
</style>
<script>
$(function () {
//產生不同顏色的div方格當作調色盤選項
var colors =
"red;orange;yellow;green;blue;indigo;purple;black;white".split(';');
var sb = [];
$.each(colors, function (i, v) {
sb.push("<div class='option' style='background-color:" + v + "'></div>");
});
$("#dPallete").html(sb.join("\n"));
//產生不同尺寸的方格當作線條粗細選項
sb = [];
for (var i = 1; i <= 9; i++)
sb.push("<div class='option lw'>" +
"<div style='margin-top:#px;margin-left:#px;width:%px;height:%px'></div></div>"
.replace(/%/g, i).replace(/#/g, 10 - i / 2));
$("#dLine").html(sb.join('\n'));
var $clrs = $("#dPallete .option");
var $lws = $("#dLine .option");
//點選調色盤時切換焦點並取得顏色存入p_color,
//同時變更線條粗細選項的方格的顏色
$clrs.click(function () {
$clrs.removeClass("active");
$(this).addClass("active");
p_color = this.style.backgroundColor;
$lws.children("div").css("background-color", p_color);
}).first().click();
//點選線條粗細選項時切換焦點並取得寬度存入p_width
$lws.click(function () {
$lws.removeClass("active");
$(this).addClass("active");
p_width =
$(this).children("div").css("width").replace("px", "");
}).eq(3).click();
//取得canvas context
var $canvas = $("#cSketchPad");
var ctx = $canvas[0].getContext("2d");
ctx.lineCap = "round";
ctx.fillStyle = "white"; //整個canvas塗上白色背景避免PNG的透明底色效果
ctx.fillRect(0, 0, $canvas.width(), $canvas.height());
var drawMode = false;
//canvas點選、移動、放開按鍵事件時進行繪圖動作
$canvas.mousedown(function (e) {
ctx.beginPath();
ctx.strokeStyle = p_color;
ctx.lineWidth = p_width;
ctx.moveTo(e.pageX - $canvas.position().left, e.pageY - $canvas.position().top);
drawMode = true;
})
.mousemove(function (e) {
if (drawMode) {
ctx.lineTo(e.pageX - $canvas.position().left, e.pageY - $canvas.position().top);
ctx.stroke();
}
})
.mouseup(function (e) {
drawMode = false;
});
//利用.toDataqURL()將繪圖結果轉成圖檔
$("#bGenImage").click(function () {
$("#dOutput").html(
$("<img />", { src: $canvas[0].toDataURL(),
"class": "output"
}));
});
});
</script>
</head>
<body>
<div id="dPallete"></div>
<div id="dLine"></div>
<div id="dCanvas">
<canvas id="cSketchPad" width="300" height="300" style="border: 2px solid gray" />
</div>
<input type="button" id="bGenImage" value="Generate Image" />
<div id="dOutput"></div>
</body>
</html>
发表评论
-
css set a4 paper size
2017-02-23 17:38 579HTML <div class="book ... -
CSS Paged Media - @page Rule
2017-02-23 17:34 712Paged media differ from contin ... -
简单的html5 File测试 for pic2base64
2014-07-10 17:56 801<!DOCTYPE html PUBLIC " ... -
JS判断浏览器是否支持flash的方法
2014-06-23 11:25 926var isIE = !-[1,]; if(isIE){ ... -
js跨域 -- 使用form表单 + 隐藏的iframe
2014-06-18 18:13 3309将form表单提交到目标服务器(action=“url”),当 ... -
仿QQ灵活拖拉文件上传
2014-02-08 14:03 1129在html5中,出现了众多的新的技术和特性,而本文将介绍的是 ... -
jQuery 判断iPad、iPhone、Android是横屏还是竖屏(window.orientation实现)
2014-02-08 11:26 2268在ipad、iphone网页开发中,我们很可能需要判断是横屏 ... -
CSS3 为不同媒介设置样式的方法(CSS3 Media Queries)
2014-02-08 11:21 915随着智能手机、平板电脑越来越流行,许多网站都开始考虑为这些移 ... -
如何判断微信内置浏览器
2013-12-11 15:13 1146在进行微信公众账号开发的时候,其中很大一块是微站点的开发,我 ... -
细数那些不能直视的IE6BUG
2013-06-14 08:42 6231. li在IE中底部3像素的BUG 解决方案:在< ... -
兼容firefox,chrome的网页灰度效果
2013-04-20 20:32 864要实现网页灰度,最稳妥的办法莫过于直接处理所有图像,不用考虑兼 ... -
HTML5实践-图片设置成灰度图
2013-04-20 20:26 1193以前,在web上要显示灰度图片的话,只有手工使用图片软件转换 ... -
HTML5 组件Canvas实现图像灰度化
2013-04-20 20:22 1329HTML5发布已经有很长一段时间了,一直以来从来没有仔细 ... -
Javascript Math ceil()、floor()、round()三个函数的区别
2012-12-18 08:54 749ceil():将小数部分一律向整数部分进位。 如: ... -
css+table 1px边框单元格
2012-10-11 11:59 1040<!DOCTYPE html PUBLIC &qu ... -
21 款超棒的 CSS3 效果
2013-12-03 10:47 843CSS3能够帮助你开发出超棒的动画和特效,你是不是想了解究竟 ...
相关推荐
51、Jquery-html5类似百度贴吧涂鸦绘图效果
html5 涂鸦 jQuery的在线涂鸦插件wPaint.rar
jquery HTML5涂鸦(疯狂的触手),鼠标在网页上移动,就可实现涂鸦功能,在网页画出像触手一样的图画,点击鼠标可以清除画布。绚丽的色彩带来震撼的效果,右上角那些滑块,可改变一些颜色值、细条粗细等,对HTML5感...
用html5 中的canvas元素实现的非常简单的涂鸦。不喜勿喷!
使用html5+css3+jquery 制作的画板,包括对图片的修改,各种滤镜,对图片的缓存,各种画笔,喷桶,形状,颜色等50多种功能,纯原创
HTML5 canvas多功能涂鸦画板绘图代码基于jquery-1.10.2.js制作,有直线、矩形、圆圈、铅笔、多边形 、橡皮、描边、新建 、清空、撤销、保存、剪切、复制等功能。
HTML5 canvas写字板涂鸦画板基于jquery.1.11.3.min.js制作,可自由绘画,有保存、下载、撤销、满屏、线条、橡皮等功能。
sketchpad是一款基于HTML5 Canvas的涂鸦画板jQuery插件。它可以使用鼠标在画板上绘制各种涂鸦图案,可以修改线条的尺寸和颜色,还可以回播绘制的过程动画,以及将绘制的图案保持为Json或对象,在其它地方进行恢复...
这是一个网友分享的HTML5画板功能,带有RGB调节和高斯模糊功能,效果还是蛮好的,懒人之家推荐给大家使用。同时也非常感谢luoxiaolongshuaige@qq.com 的投稿
html5类似百度贴吧涂鸦绘图效果.zip
sketchpad是一款基于HTML5 Canvas的涂鸦画板jQuery插件。它可以使用鼠标在画板上绘制各种涂鸦图案,可以修改线条的尺寸和颜色,还可以回播绘制的过程动画,以及将绘制的图案保持为Json或对象,在其它地方进行恢复...
HTML5 Canvas支持手机端涂鸦画板下载.zip
HTML5 canvas写字板涂鸦画板基于jquery.1.11.3.min.js制作,可自由绘画,有保存、下载、撤销、满屏、线条、橡皮等功能。
有兴趣刚需的可以自己下载,非常实用的特效代码,可以完美运行,有能力的还可以二次修改!
有兴趣刚需的可以自己下载,非常实用的特效代码,可以完美运行,有能力的还可以二次修改!
非常实用的特效代码,可以完美运行,可以二次修改!
有兴趣刚需的可以自己下载,非常实用的特效代码,可以完美运行,有能力的还可以二次修改!
非常实用的特效代码,可以完美运行,可以二次修改!
这是一款基于Canvas的Photoshop样式网页涂鸦板插件。该网页涂鸦板通过jquery和canvas来创建photoshop样式工具栏的网页画图工具。