draw1.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. //画布
  2. var canvas;
  3. var context;
  4. //蒙版
  5. var canvas_bak;
  6. var context_bak;
  7. var canvasWidth = 720;
  8. var canvasHeight = 1280;
  9. var canvasTop;
  10. var canvasLeft;
  11. //画笔大小
  12. var size = 1;
  13. var color = '#000000';
  14. var resolving
  15. var url = window.location.href;
  16. url = url.split('/')
  17. var baseUrl =url[2]
  18. var query = window.location.search.substring(1);
  19. var vars = query.split("&");
  20. var data = {}
  21. var clientType = vars.find(e => {
  22. return e.startsWith('clientType')
  23. })
  24. var cardIp = vars.find(e => {
  25. return e.startsWith('cardIp')
  26. })
  27. var port = vars.find(e => {
  28. return e.startsWith('port')
  29. })
  30. var sn = vars.find(e => {
  31. return e.startsWith('sn')
  32. })
  33. var data = {}
  34. data.clientType=clientType.substring(11, clientType.length)
  35. data.cardIp=cardIp.substring(7, cardIp.length)
  36. data.port=port.substring(5, port.length)
  37. data.sn=sn.substring(3, sn.length)
  38. var urlss= "192.168.31.14" //url[2] //'14.215.128.96'
  39. var wsss = new WebSocket("wss://"+urlss+"/controlWebSocket?"+"clientType="+data.clientType+"&cardIp="+data.cardIp+"&port="+data.port+"&sn="+data.sn);
  40. //var wsss = new WebSocket("ws://14.215.128.96/controlWebSocket?clientType=0&cardIp=30.30.30.58&port=9100&sn=RK3930C2301900060");
  41. wsss.onopen = function() {
  42. var pings = {
  43. "event": "getScreenStatus"
  44. }
  45. wsss.send(JSON.stringify(pings));
  46. var bitRate ={"data":{"bitRate":1000},"event":"bitRate"}
  47. wsss.send(JSON.stringify(bitRate));
  48. };
  49. wsss.onmessage = function(event) {
  50. var resets = JSON.parse(event.data)
  51. resolving = resets.data.orientation
  52. console.log('>>>', resolving)
  53. if(resolving == 1) {
  54. canvas_bak = document.getElementsByTagName("canvas");
  55. } else {
  56. canvas_bak = document.getElementsByClassName("mocan");
  57. }
  58. if(resolving == 1) {
  59. $('#mocan').removeClass('mocan')
  60. $('#mainScreen-main').addClass('mainScreen-main')
  61. $('.mainScreen-main').on('click', function() {
  62. // console.log(this)
  63. draw_graph('pencil', this)
  64. })
  65. $('canvas').css({
  66. "display": "block",
  67. "width": "100%",
  68. "height": "100%",
  69. "position": "absolute",
  70. "top": "0px",
  71. "left": "0px",
  72. "z-index": "999",
  73. "transform": "rotate(0deg)"
  74. })
  75. $('#mainScreen-main').css({"display": "block"})
  76. } else {
  77. // $("#mainScreen-main").
  78. $('#mainScreen-main').removeClass('mainScreen-main')
  79. $('#mocan').addClass('mocan')
  80. $('.mocan').on('click', function() {
  81. // console.log(this)
  82. draw_graph('pencil', this)
  83. })
  84. $('canvas').css({
  85. "display": "block",
  86. "width": "153%",
  87. "height": "162%",
  88. "position": "absolute",
  89. "top": "-171px",
  90. "left": "-94px",
  91. "z-index": "0",
  92. "transform": "rotate(-90deg)"
  93. })
  94. $('#mainScreen-main').css({"display": "block"})
  95. $('#no-ne').css({
  96. "width": "901px",
  97. "height": "555px",
  98. "position": "absolute",
  99. "top": "0",
  100. "left": "-269px",
  101. "background": "#000000",
  102. "z-index": "99999",
  103. "font-size": "18px",
  104. "color": "#FFFFFF",
  105. "text-align": "center",
  106. })
  107. $('.no-ne-text').css({
  108. "margin-top": "24%",
  109. })
  110. }
  111. // context_bak = canvas_bak.getContext('2d');
  112. $(canvas_bak).css("z-index", 999);
  113. };
  114. wsss.onclose = function(event) {
  115. };
  116. wsss.onerror = function(event) {
  117. };
  118. //画图形
  119. var draw_graph = function(graphType, obj) {
  120. //把蒙版放于画板上面
  121. //$("#canvas_bak").css("z-index",1);
  122. $("#container").css("z-index", 30);
  123. $("#dedit").css("z-index", 20);
  124. //先画在蒙版上 再复制到画布上
  125. chooseImg(obj);
  126. var canDraw = false;
  127. var startX;
  128. var startY;
  129. //鼠标按下获取 开始xy开始画图
  130. var mousedown = function(e) {
  131. var pingssfe = {
  132. "event": "getScreenStatus"
  133. }
  134. wsss.send(JSON.stringify(pingssfe));
  135. //
  136. //横屏
  137. if(resolving == 1) {
  138. var ping = {"data":{"action":0,"count":1,"pointerId":0,"x":e.offsetX * 2,"y":e.offsetY * 2.3},"event":"0"}
  139. console.log("黄飞111》》》")
  140. } else if(resolving == 0) {
  141. var ping ={"data":{"action":0,"count":1,"pointerId":0,"x":e.offsetX * 1.422,"y":e.offsetY * 1.3},"event":"0"}
  142. console.log("黄飞222》》》")
  143. }
  144. wsss.send(JSON.stringify(ping));
  145. e = e || window.event;
  146. /*startX = e.clientX - canvasLeft;
  147. startY = e.clientY - canvasTop;*/
  148. // console.log('鼠标按下获取:x',e.clientX-canvasLeft,'y:',e.clientY - canvasTop)
  149. canDraw = true;
  150. };
  151. //鼠标离开 把蒙版canvas的图片生成到canvas中
  152. var mouseup = function(e) {
  153. e = e || window.event;
  154. // startX = e.clientX - canvasLeft;11111
  155. // startY = e.clientY - canvasTop;
  156. // console.log('鼠标离开>>>',e.clientX - canvasLeft)
  157. if(resolving == 1) {
  158. var ping = {"data":{"action":1,"count":1,"pointerId":0,"x":e.offsetX * 2,"y":e.offsetY * 2.3},"event":"1"}
  159. } else if(resolving == 0) {
  160. var ping = {"data":{"action":1,"count":1,"pointerId":0,"x":e.offsetX * 1.422,"y":e.offsetY * 1.3},"event":"1"}
  161. }
  162. wsss.send(JSON.stringify(ping));
  163. // var seets = {"event":"getScreenStatus"}
  164. // wsss.send(JSON.stringify(seets));
  165. canDraw = false;
  166. };
  167. //清空层 云手机超出屏幕的开关
  168. var clearContext = function(type) {
  169. canDraw = false;
  170. }
  171. // 鼠标移动
  172. var mousemove = function(e) {
  173. // console.log('鼠标移动7>>>','X:',e.clientX,'Y:',e.clientY)
  174. e = e || window.event;
  175. //方块 4条直线搞定
  176. if(graphType == 'square') {
  177. if(canDraw) {}
  178. //直线
  179. } else if(graphType == 'line') {} else if(graphType == 'pencil') {
  180. if(canDraw) {
  181. // context_bak.lineTo(e.clientX - canvasLeft ,e.clientY - canvasTop);
  182. // context_bak.stroke();
  183. if(resolving == 1) {
  184. var ping = {"data":{"action":2,"count":1,"pointerId":0,"x":e.offsetX * 2,"y":e.offsetY * 2.3},"event":"2"}
  185. } else if(resolving == 0) {
  186. var ping = {"data":{"action":2,"count":1,"pointerId":0,"x":e.offsetX * 1.422,"y":e.offsetY * 1.3},"event":"2"}
  187. }
  188. wsss.send(JSON.stringify(ping));
  189. }
  190. //圆 未画得时候 出现一个小圆
  191. } else if(graphType == 'circle') {} else if(graphType == 'handwriting') {
  192. var hwSize = 1;
  193. if(canDraw) {} else {}
  194. //橡皮擦 不管有没有在画都出现小方块 按下鼠标 开始清空区域
  195. } else if(graphType == 'rubber') {}
  196. };
  197. //鼠标离开区域以外 除了涂鸦 都清空
  198. var mouseout = function() {
  199. if(graphType != 'handwriting') {
  200. clearContext();
  201. }
  202. }
  203. $(canvas_bak).unbind();
  204. $(canvas_bak).bind('mousedown', mousedown);
  205. $(canvas_bak).bind('mousemove', mousemove);
  206. $(canvas_bak).bind('mouseup', mouseup);
  207. $(canvas_bak).bind('mouseout', mouseout);
  208. }
  209. //选择功能按钮 修改样式
  210. function chooseImg(obj) {
  211. }