Wacom рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рдкрд░рд┐рдЪрдп

рдЫрд╡рд┐

Wacom Javascript API рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреИрдмрд▓реЗрдЯ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЛрд▓реА рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрд▓рдо рдХрд╛ рджрдмрд╛рд╡ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред рд╕рд╛рде рд╣реА рд╕реНрдереИрддрд┐рдХ рдбреЗрдЯрд╛, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдЯреИрдмрд▓реЗрдЯ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдгред

рдЗрд╕ Habratopika рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП HTML5 рдХреИрдирд╡рд╕ "рдбреНрд░рд╛рдЗрдВрдЧ рдЯреВрд▓" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред



рдкреНрд▓рдЧрдЗрди рд╡рд╕реНрддреБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


рдПрдЪрдЯреАрдПрдордПрд▓

<embed name="wacom-plugin" id="wacom-plugin" type="application/x-wacom-tablet" HIDDEN="TRUE"></embed> 

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

 var plugin; window.onload = function() { var plugin = document.getElementById("wacom-plugin"); } 


рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкреНрд▓рдЧрдЗрди рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬреЛ рд╣рдо рдкреНрд▓рдЧрдЗрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

(рдореИрдВрдиреЗ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛, рд╡рд┐рд╖рдп рдХреЗ рдЕрдВрдд рдореЗрдВ рдореВрд▓ - рд▓рд┐рдВрдХ)

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЧреБрдг рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ: plugin.something, рдЕрд░реНрдерд╛рддреНред рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рдЯреИрдмрд▓реЗрдЯ рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 var model = plugin.TabletModel; 


рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ


рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк HTML рдПрдкреАрдЖрдИ рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг "рдХреИрдирд╡рд╛рд╕" рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдмреНрд░рд╢ рдХреА рдЪреМрдбрд╝рд╛рдИ рджрдмрд╛рд╡ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛред

index.html

 <!DOCTYPE html> <html> <head> <title> Wacom Javascript API </title> </head> <body style="margin:0; padding: 0;"> <canvas id="main" width="500" height="500"></canvas> <embed name="wacom-plugin" id="wacom-plugin" type="application/x-wacom-tablet" HIDDEN="TRUE"></embed> <script type="text/javascript"> //     wacom.js window.onload = function() { var el = document.createElement("script"); el.type = "text/javascript"; el.src = "wacom.js?"+Math.random(); document.getElementsByTagName("head")[0].appendChild(el); } </script> </body> </html> 


wacom.js

 var plugin = document.getElementById("wacom-plugin"); //  var canvas = document.getElementById("main"); //   var context = canvas.getContext("2d"); //    context.lineCap = "round"; //   -  context.lineJoin = "round"; //   -  context.strokeStyle = "#6DA3BD"; //  //     (  ) var oldX = 0; var oldY = 0; var mousedown = false; //,      canvas.onmousedown = function(e) { mousedown = true; //     ( ) oldX = e.pageX; //      oldY = e.pageY; onMouseMove(e); //    (    ) } canvas.onmousemove = onMouseMove; function onMouseMove(e) { if(!mousedown) return; if(plugin) { //,     context.lineWidth = 25 * plugin.pressure; //       } else { context.lineWidth = 25; //        } context.beginPath(); //  context.moveTo(oldX, oldY); //    context.lineTo(e.pageX, e.pageY); //    context.stroke(); //  oldX = e.pageX; //    oldY = e.pageY; } canvas.onmouseup = function() { mousedown = false; //  } 


рдирд┐рд╖реНрдХрд░реНрд╖



Wacom рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреАрдЖрдИ рдХреЗрд╡рд▓ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреНрд▓рдЧрдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ)ред рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреАрдбрд╝реЗ рд╣реИрдВред рдлреНрд▓реИрд╢ рд╕реЗ Wacom рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╛рд╣рд░реАрдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

"рдбреНрд░рд╛рдЗрдВрдЧ" рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ
рд╕реНрд░реЛрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ:
Mr'DooB рдмреНрд▓реЙрдЧ
рдФрд░ рдЙрджрд╛рд╣рд░рдг
рдкреНрд░рд▓реЗрдЦрди

Source: https://habr.com/ru/post/In126775/


All Articles