码迷,mamicode.com
首页 > Web开发 > 详细

Raphaeljs入门到精通(三)

时间:2014-08-25 19:25:17      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:raphael   画线   绘图   

本篇文章,我将使用元素的drag事件做一个画图工具,具体代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Script/raphael.js"></script>
</head>
<body>
    <div id="paper">

    </div>
    <script>
        var g_masterPathArray;
        var g_masterDrawingBox;
        //创建一个画布
        var paper = new Raphael("paper", 600, 600);
        //设置一个画图区域
        var rect = paper.rect(50, 50, 400, 400);
        rect.attr("fill", "#eee");
        //绑定区域的鼠标移动事件
        rect.mousemove(function (event) {
            var evt = event;
            var IE = document.all ? true : false;
            var x, y;
            if (IE) {
                x = evt.clientX + document.body.scrollLeft +
                document.documentElement.scrollLeft;
                y = evt.clientY + document.body.scrollTop +
                document.documentElement.scrollTop;
            }
            else {
                x = evt.pageX;
                y = evt.pageY;
            }
            // 给区域添加两个属性ox,和oy
            this.ox = x - 5;
            this.oy = y - 5;
        });
        //区域(即鼠标)开始拖动
        var start = function () {
            g_masterPathArray = new Array();
        };
        //移动
        var move = function (dx, dy) {
            if (g_masterPathArray.length == 0) {
                g_masterPathArray[0] = ["M", this.ox, this.oy];
                //绘制线条
                g_masterDrawingBox = paper.path(g_masterPathArray);
                //设置线条宽度
                g_masterDrawingBox.attr({ stroke: "#000000", "stroke-width": 3 });
            } else
                g_masterPathArray[g_masterPathArray.length] = ["L", this.ox, this.oy];
            //设置线条的path属性值
            g_masterDrawingBox.attr({ path: g_masterPathArray });
        };
        //松下鼠标
        var up = function () {
        };
        rect.drag(move, start, up);
    </script>
</body>
</html>
代码地址:

https://coding.net/u/tommy-zhang/p/raphaeljs/git/blob/master/example/example/drag.html


最终效果图如下:

bubuko.com,布布扣



Raphaeljs入门到精通(三)

标签:raphael   画线   绘图   

原文地址:http://blog.csdn.net/zhangyuanwei88/article/details/38822993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!