由于偶然因素,制作了一个简陋的网页画板,本来只是想做一个在不同div之间画连线的功能,后来便想做个网页画板,配合服务器的话,还可以将画的画直接转换成图片下载到本地。至于其他扩展,完全在于发挥想象空间了,技术很基础,js,css,java而已,但重要的是想法和思路。和大家分享一下,抛砖引玉而已罢了。

  这里给出的源文件,直接到本地用IE6打开GrapDrawLine.html即可,由于在制作的时候并没有考虑支持多浏览器,所以不方便的请大家原谅。

  可运行的完成代码(附带js,css,资源文件等),打包在附件里。

先截个图:

                                    

<!--GrapDrawLine.html-->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>画布,网页线条绘制</title>
<link rel="stylesheet" href="../css/olas-sv.css"    type="text/css"/>
 <script type="text/javascript" src="../js/jquery-1.3.2.js"></script>
  <script type="text/javascript" src="../js/ui.core.js"></script>
  <script type="text/javascript" src="../js/ui.draggable.js"></script>

<script type="text/javascript">
<!--
        var bIsMouseDown = false;
        var dotNode = null;
        $(function(){
            dotNode = $('#dotDiv');
            $('.canvas_top').mousedown(startDraw).mouseup(stopDraw).mousemove(draw);
            setColorer();
        });
  }
 
  function drawDot(x,y){
    dotNode.clone(false).css({left:x,top:y}).appendTo('body').show();
  }
 
 function draw(el){
         var x = event.clientX;
         var y = event.clientY;
         $('.status_bar').text('鼠标位置:(' + x + ',' + y + ')');
          if(event.button != 1){
           bIsMouseDown = false;
           return;
       }
         if(bIsMouseDown){
           drawDot(x,y);
         }
    }

    function startDraw(){
        if(event.button == 1){
             bIsMouseDown = true;
           setDrawCursor(null,true);
        }
     }
     
     function stopDraw(){
         bIsMouseDown=false;
         setDrawCursor(null,false);
         $('#memberInfoDiv').hide();
     }
     
     function setDrawCursor(drawTye,isDrawing){
         if(isDrawing){
                 $('.canvas_top').css({cursor:'../images/pen/drawPen.CUR'});
         }else{
             $('.canvas_top').css({cursor:'../images/pen/waitingDraw.CUR'});
         }
     }
     
     function setColorer(){
          $('.tool_item_colorer').click(function(){
              var color = $(this).css('background-color');
           dotNode.css({background:color});
         });
     }
     
     function showDom(){
         alert(body.innerHTML);
     }
//-->
</script>
<body>
<div class="tool_bar">
    <div class="tool_item_colorer" style="background-color:#00ff00;left:10">绿色</div>
    <div class="tool_item_colorer" style="background-color:#ff0000;left:110">红色</div>
    <div class="tool_item_colorer" style="background-color:#0000ff;left:210">蓝色</div>
    <div class="tool_item_colorer" style="background-color:#ffffff;left:310">白色</div>
    <div class="tool_item_colorer" style="background-color:#ff00ff;left:410">洋红</div>
    <div class="tool_item_colorer" style="background-color:#00ffff;left:510">墨绿</div>
    <div class="tool_item_colorer" style="background-color:#ffff00;left:610">黄色</div>
    <div class="tool_item_colorer" style="background-color:#000000;left:710">黑色</div>
    <div class="tool_item_colorer" style="background-color:#32cd32;left:810">浅绿</div>
    <div class="tool_item_colorer" style="background-color:#70db93;left:910">碧绿</div>
    <div class="tool_item_colorer" style="background-color:#9932cd;left:1010">紫色</div>
    <div class="tool_item_colorer" style="background-color:#ff7f00;left:1110">橘色</div>
</div>
<div  class="canvas_top">
</div>
<div id= 'dotDiv' style="left:100;top:300;display:none" class="drawUnit"></div>
<div class="status_bar"></div>

olas_sv


 

posted on 2009-03-07 15:52  君莫笑君  阅读(2094)  评论(15)    收藏  举报