`

Jquery_html5涂鸦

阅读更多

<!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>

分享到:
评论

相关推荐

    简单的jQuery网页画板涂鸦代码.zip

    5. **js文件**:压缩包中的"js"文件很可能是实现涂鸦功能的JavaScript代码。它可能包含了上述所有逻辑,如事件监听、画布操作等。通过分析这个文件,我们可以深入理解整个涂鸦功能的工作原理。 6. **实现细节**:...

    jQuery的在线涂鸦插件wPaint.rar_QQ截图_fuelfk9_js仿qq涂鸦图片_在线涂鸦_网页标记 插件

    《jQuery的在线涂鸦插件wPaint:实现网页标注与QQ截图功能的探索》 在当今互联网应用中,用户交互体验越来越受到重视,其中一种常见的交互形式就是在线涂鸦和标注功能,它使得用户能够在网页上进行即时的注释和编辑...

    基于HTML5 Canvas和jQuery的现代网页涂鸦工具设计源码

    该项目是一个现代网页涂鸦工具的设计源码,主要使用JavaScript语言开发,同时包含...该工具依赖于HTML5 Canvas、jQuery和FontAwesome库,支持Internet Explorer 9及以上版本、Firefox、Opera、Chrome和Safari浏览器。

    仿直播礼物涂鸦_屏幕礼物涂鸦动画_源码.zip

    2. **Canvas API**:屏幕涂鸦动画很可能是通过HTML5的Canvas元素实现的。Canvas提供了一个二维绘图环境,可以用于绘制图形、动画,以及实现用户交互,如画笔、橡皮擦等涂鸦功能。 3. **动画原理**:在Canvas中,...

    html5涂鸦板

    总的来说,"html5涂鸦板"是一个利用HTML5 `&lt;canvas&gt;`元素、jQuery和JavaScript技术实现的互动涂鸦应用。它展示了HTML5在网页动态图形和用户交互方面的强大能力,同时也体现了JavaScript作为客户端编程语言在实现复杂...

    51、Jquery-html5类似百度贴吧涂鸦绘图效果

    51、Jquery-html5类似百度贴吧涂鸦绘图效果

    html5 涂鸦

    其中,“html5 涂鸦”是指利用HTML5的Canvas元素构建的一种在线绘图功能,让用户可以在网页上进行自由绘画,类似于实际的涂鸦板。在本案例中,我们关注的是一个基于jQuery的在线涂鸦插件——wPaint。 wPaint是一个...

    html5 涂鸦画板-原创

    HTML5涂鸦画板是一种基于Web技术实现的交互式绘图工具,允许用户在网页上进行创作,类似于桌面应用程序中的画图软件。这个项目利用了HTML5、CSS3和jQuery的强大功能,为用户提供丰富的绘图体验。以下是这个涂鸦画板...

    简单的jQuery网页画板涂鸦代码

    总的来说,"简单的jQuery网页画板涂鸦代码"是一个结合了HTML、CSS和JavaScript技术的实例,展示了如何利用jQuery简化用户交互,并结合Canvas API实现实时的网页绘图功能。这样的项目对于学习前端开发,特别是了解...

    HTML5涂鸦(疯狂的触手).rar

    jquery HTML5涂鸦(疯狂的触手),鼠标在网页上移动,就可实现涂鸦功能,在网页画出像触手一样的图画,点击鼠标可以清除画布。绚丽的色彩带来震撼的效果,右上角那些滑块,可改变一些颜色值、细条粗细等,对HTML5感...

    Asp.Net+flash+jquery实现的在线涂鸦插件.rar

    《Asp.Net+Flash+jQuery实现的在线涂鸦插件详解》 在互联网技术日新月异的今天,用户交互体验成为了网站设计的关键因素之一。本文将深入探讨一个基于Asp.Net、Flash和jQuery技术实现的在线涂鸦插件,通过分析其中的...

    html5画布 涂鸦 上传

    在"html5画布 涂鸦 上传"这个主题中,我们关注的是用户在Canvas上涂鸦并将其保存或上传到服务器的过程。这一过程通常涉及以下几个步骤: 1. **创建Canvas元素**:首先在HTML中创建一个`&lt;canvas&gt;`标签,并通过...

    涂鸦板 html5实现涂鸦板canvas 画布实现

    HTML5是现代网页开发的重要标准,其中Canvas元素为实现涂鸦板提供了可能。Canvas是一个基于矢量图形的画布,可以使用JavaScript进行动态渲染,提供丰富的绘图API,使得开发者能够创建出复杂的动态图形和交互式应用。...

    jquery+css3实现在线编辑涂鸦画板功能

    本项目名为"jQuery+CSS3实现在线编辑涂鸦画板功能",它结合了HTML5的强大特性,提供了用户可以自由涂鸦、调节颜色以及应用高斯模糊效果的功能。这个功能的实现对于在线教育、设计协作或者娱乐类网站来说都是一个极其...

    在线涂鸦工具,类似于QQ截图后画图简版

    其次,Canvas是HTML5引入的一个重要特性,它提供了一个二维绘图表面,允许开发者直接在网页上绘制图形。在这个工具中,Canvas被用来实现涂鸦功能,用户可以在画布上自由绘制线条、形状,就像在纸上画画一样。Canvas...

    html5类似百度贴吧涂鸦绘图效果.zip

    在本项目"html5类似百度贴吧涂鸦绘图效果.zip"中,主要涉及了前端开发技术,特别是HTML5、CSS、JavaScript以及jQuery的应用。这些技术是构建交互式和动态网页的关键组成部分,尤其在创建类似百度贴吧涂鸦绘图功能时...

    HTML5 canvas写字板涂鸦画板.zip

    这个"HTML5 canvas写字板涂鸦画板.zip"文件包含了一个基于jQuery库的实现,使得用户可以在网页上自由地进行绘画操作,类似于一个在线的写字板或涂鸦工具。以下是对这个项目的关键知识点的详细解释: 1. **HTML5 ...

    html5 canvas实现涂鸦写字板效果.zip

    在这个“html5 canvas实现涂鸦写字板效果.zip”压缩包中,包含了一个基本的涂鸦写字板的实现,主要依赖于HTML5的Canvas元素以及jQuery库。这个特效代码可以用于各种场合,比如在线教育平台让学生画图解释概念,或者...

    HTML5 Canvas支持手机端涂鸦画板下载.zip

    这个压缩包“HTML5 Canvas支持手机端涂鸦画板下载.zip”显然是一个包含资源,帮助开发者创建一个手机端的涂鸦画板应用。这个应用可能允许用户用手指在屏幕上自由绘画,并能保存他们的作品。 首先,我们来深入了解...

Global site tag (gtag.js) - Google Analytics