paint.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset=utf-8>
  4. <title>HTML5</title>
  5. <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
  6. <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.min.js"></script>
  7. <script src="canvas2image.js"></script>
  8. <style type="text/css">
  9. #xu {
  10. border: 1px solid #ccc;
  11. }
  12. </style>
  13. <button onclick="savePic()">save</button>
  14. <img src="" id='screen' alt="will show here">
  15. </head>
  16. <body>
  17. <canvas id="xu" width="500" height="400"></canvas>
  18. <script type="text/javascript">
  19. var canvas = document.getElementById("xu");
  20. var xx = canvas.getContext("2d");
  21. xx.lineWidth = 5;
  22. xx.strokeStyle = "blue";
  23. var flag = false;
  24. //当鼠标按下时
  25. $("#xu").mousedown(function (e) {
  26. alert("aa");
  27. var mouseX = e.pageX - this.offsetLeft;//获得当前页面的x坐标
  28. var mouseY = e.pageY - this.offsetTop;//y
  29. flag = true;
  30. xx.moveTo(mouseX, mouseY);//起始位置
  31. });
  32. //当鼠标抬起时
  33. $("#xu").mouseup(function (e) {
  34. flag = false;
  35. });
  36. //当鼠标移动时
  37. $("#xu").mousemove(function (e) {
  38. var mouseX = e.pageX - this.offsetLeft;//获得当前页面的x坐标
  39. var mouseY = e.pageY - this.offsetTop;//y
  40. if (flag) {
  41. xx.lineTo(mouseX, mouseY);//终止位置
  42. xx.stroke();//结束图形
  43. }
  44. })
  45. ;
  46. function savePic() {
  47. var image=new Image();
  48. image.src= document.getElementById("xu").toDataURL("image/png");
  49. document.getElementById('screen').src=image.src;
  50. }
  51. </script>
  52. </body>
  53. </html>