Advertisement
Faldi767

Canvasdjasjdasjfadjs

Jan 29th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. <script type="text/javascript">
  2. var canvas, ctx, flag = false,
  3. prevX = 0,
  4. currX = 0,
  5. prevY = 0,
  6. currY = 0,
  7. dot_flag = false;
  8.  
  9. var x = "black",
  10. y = 2;
  11.  
  12. function init() {
  13. canvas = document.getElementById('can');
  14. ctx = canvas.getContext("2d");
  15. w = canvas.width;
  16. h = canvas.height;
  17.  
  18. canvas.addEventListener("mousemove", function (e) {
  19. findxy('move', e)
  20. }, false);
  21. canvas.addEventListener("mousedown", function (e) {
  22. findxy('down', e)
  23. }, false);
  24. canvas.addEventListener("mouseup", function (e) {
  25. findxy('up', e)
  26. }, false);
  27. canvas.addEventListener("mouseout", function (e) {
  28. findxy('out', e)
  29. }, false);
  30. }
  31.  
  32. function color(obj) {
  33. switch (obj.id) {
  34. case "green":
  35. x = "green";
  36. break;
  37. case "blue":
  38. x = "blue";
  39. break;
  40. case "red":
  41. x = "red";
  42. break;
  43. case "yellow":
  44. x = "yellow";
  45. break;
  46. case "orange":
  47. x = "orange";
  48. break;
  49. case "black":
  50. x = "black";
  51. break;
  52. case "white":
  53. x = "white";
  54. break;
  55. }
  56. if (x == "white") y = 14;
  57. else y = 2;
  58.  
  59. }
  60.  
  61. function draw() {
  62. ctx.beginPath();
  63. ctx.moveTo(prevX, prevY);
  64. ctx.lineTo(currX, currY);
  65. ctx.strokeStyle = x;
  66. ctx.lineWidth = y;
  67. ctx.stroke();
  68. ctx.closePath();
  69. }
  70.  
  71. function erase() {
  72. var m = confirm("Want to clear");
  73. if (m) {
  74. ctx.clearRect(0, 0, w, h);
  75. document.getElementById("canvasimg").style.display = "none";
  76. }
  77. }
  78.  
  79. function save() {
  80. document.getElementById("canvasimg").style.border = "2px solid";
  81. var dataURL = canvas.toDataURL();
  82. document.getElementById("canvasimg").src = dataURL;
  83. document.getElementById("canvasimg").style.display = "inline";
  84. }
  85.  
  86. function findxy(res, e) {
  87. if (res == 'down') {
  88. prevX = currX;
  89. prevY = currY;
  90. currX = e.clientX - canvas.offsetLeft;
  91. currY = e.clientY - canvas.offsetTop;
  92.  
  93. flag = true;
  94. dot_flag = true;
  95. if (dot_flag) {
  96. ctx.beginPath();
  97. ctx.fillStyle = x;
  98. ctx.fillRect(currX, currY, 2, 2);
  99. ctx.closePath();
  100. dot_flag = false;
  101. }
  102. }
  103. if (res == 'up' || res == "out") {
  104. flag = false;
  105. }
  106. if (res == 'move') {
  107. if (flag) {
  108. prevX = currX;
  109. prevY = currY;
  110. currX = e.clientX - canvas.offsetLeft;
  111. currY = e.clientY - canvas.offsetTop;
  112. draw();
  113. }
  114. }
  115. }
  116. </script>
  117. <body onload="init()">
  118. <h5>Color : <button id="red" onclick="color(this)">Red</button>
  119. <button id="green" onclick="color(this)">Green</button>
  120. <button id="blue" onclick="color(this)">Blue</button>
  121. <button id="yellow" onclick="color(this)">Yellow</button>
  122. <button id="orange" onclick="color(this)">Orange</button>
  123. <button id="black" onclick="color(this)">Black</button>
  124. </h5>
  125. <h5>Menu : <button id="white" onclick="color(this)">Eraser</button>
  126. <input type="button" value="Clear" id="clr" size="23" onclick="erase()">
  127. </h5>
  128. <canvas id="can" width="400" height="400" style="border:2px solid;"></canvas>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement