vml 动态画多边形

<HTML xmlns:v>
  <head>
  <title>手绘多边形</title>
  <meta name="ContentType" content="text/html" />
  <meta name="CharSet" content="GB2312" />
  <style type="text/css">
  v/:* {behavior:url(#default#VML);}
  </style>
  <script language="javascript">
 var Working=false;//判断是否画图的状态
 var poly1=null,oldvalue="",oldx=0,oldy=0  //为了完成铅笔、记忆点等连续线段
 var xx,yy;
 //鼠标单击事件
 function divMousedown()
 {
 if(!Working)//第一次点击鼠标
 {
  xx=event.x;
  yy=event.y;
  poly1=div1.appendChild(document.createElement("<v:shape path='m0,0 l0,0' filled='true' style='POSITION:absolute;z-index:1;left:"+xx+";top:"+yy+";width:100;height:100;filter: Alpha(Opacity=60);' strokecolor='black' strokeweight='1' coordsize='100,100' fillcolor='yellow'/>"));
  oldvalue=poly1.path.value.replace("e","");
  oldx=xx;
  oldy=yy;
  Working=true;
 }
 else
 {
  if (poly1!=null) oldvalue=poly1.path.value.replace(" e","");
 }
 }
 //鼠标移动的时候
 function divMouseMove()
 {
  tempx=event.x;
  tempy=event.y;
  if (poly1!=null)
  {
   poly1.path.value=oldvalue+","+(tempx-oldx)+","+(tempy-oldy);
   poly1.path.value=poly1.path.value.replace(",0,0,",",0,").replace(",0 e","e");
  }
 }
 
 function divMouseUp()
 {
  if(event.button==2)
  {
   poly1.path.value=oldvalue+"x e";
   Working=false;
   poly1=null;
  }
 }
  </script>
  <body style="margin:0px;">
  <div id="div1" style="position:absolute; height:100%; width:100%; border:1px solid 0000FF;" οnmοusedοwn="divMousedown();" οnmοusemοve="divMouseMove();" οnmοuseup="divMouseUp();" οncοntextmenu="return false;">在页面上点击鼠标左键开始,右击鼠标右键结束</div>
  </body>
  </html>

 

 

 

 

这里画

在页面上点击鼠标左键开始,右击鼠标右键结束
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值