Advertisement
LGPvS

WOPP Drawing script

Nov 30th, 2018
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1.  
  2.  
  3. DrawPX=function(x,y,clr){
  4. MPP.addons.draw.mkline(x,y,x+1,y,6,clr);
  5. MPP.addons.draw.mkline(x,y+1,x+1,y+1,6,clr);
  6. };
  7.  
  8.  
  9. var RgbToHex = function(rgb) {
  10.  
  11.  
  12. var TheRgbToHex = function (rgb) {
  13.  
  14. var hex = Number(rgb).toString(16);
  15. if (hex.length < 2) {
  16.  
  17.  
  18.  
  19. hex = "0" + hex;
  20. }
  21. return hex;
  22. };
  23. var red = TheRgbToHex(rgb[0]);
  24.  
  25. var green = TheRgbToHex(rgb[1]);
  26.  
  27.  
  28. var blue = TheRgbToHex(rgb[2]);
  29. return red+green+blue;}
  30.  
  31. function functiondrawimg(){};
  32. imageBotX=5;
  33. imageBotY=5;
  34. imgBotX=imageBotX;
  35. imgBotY=imageBotY;
  36. drawing1=false;
  37. i_max1=0;
  38. j_max1=0;
  39. drawImgFT=false;
  40. WOPPImageSRC="";
  41. function drawImg(context, width, height){
  42. var botft=false;
  43. drawImgFT=true;
  44. var i = imageBotX; //starting x-value
  45. var j = imageBotY; //starting y-value
  46. var _i = i;
  47. var _j = j;
  48. var i1=0;
  49. var j1=0;
  50. var i_max = i + width;
  51. var j_max = j + height;
  52. i_max1=width;
  53. j_max1=height;
  54.  
  55. if(drawing1==true){
  56. for(var ib=0; ib < j_max1; ib++){
  57. setTimeout(function(ib){
  58. for(var ia=0; ia < i_max1; ia++){
  59. let pixelArray = context.getImageData(i - _i, j - _j, 1, 1).data;
  60. pixelarray=pixelArray;
  61.  
  62. DrawPX(imgBotX+i1, imgBotY+j1, "#"+RgbToHex([pixelArray[0],pixelArray[1],pixelArray[2]]));
  63.  
  64. if (pixelArray[3] > 25){
  65. var arr = new ArrayBuffer(11);
  66. var dv = new DataView(arr);
  67. dv.setInt32(0, i, true);
  68. dv.setInt32(4, j, true);
  69. dv.setUint8(8, pixelArray[0]);
  70. dv.setUint8(9, pixelArray[1]);
  71. dv.setUint8(10, pixelArray[2]);
  72.  
  73. }
  74.  
  75. i++;
  76.  
  77. i1+=1;
  78.  
  79. if (i > i_max-1){
  80. j1+=2;
  81. i1=0;
  82.  
  83. i = _i;
  84. j++;
  85. }
  86.  
  87.  
  88.  
  89. }
  90.  
  91. },256*ib,ib);
  92.  
  93. }
  94. }
  95.  
  96. }
  97.  
  98. window.copier = {};
  99. copier.maxHeight = 50;
  100. copier.maxWidth = 50;
  101. copier.img = new Image();
  102. copier.img.onload = function() {
  103. copier.canvas = document.createElement('canvas');
  104. copier.canvas.width = this.width;
  105. copier.canvas.height=this.height;
  106. copier.ctx = copier.canvas.getContext('2d');
  107. copier.ctx.drawImage(copier.img, 0, 0, copier.canvas.width, copier.canvas.height);
  108. drawImg(copier.canvas.getContext('2d'), copier.canvas.width, copier.canvas.height);
  109. }
  110.  
  111. function encodeImageFile(){
  112. var filesSelected = document.getElementById("inputFileToLoad").files;
  113. if (filesSelected.length > 0){
  114. var fileToLoad = filesSelected[0];
  115. var fileReader = new FileReader();
  116. fileReader.onload = function(fileLoadedEvent) {
  117. let src = fileLoadedEvent.target.result;
  118. copier.img.src = src;
  119. console.log(src);
  120. WOPPImageSRC=src;
  121. }
  122. }
  123. fileReader.readAsDataURL(fileToLoad);
  124. }
  125.  
  126. (function styleInit() {
  127. var head=document.getElementsByTagName('head')[0];
  128. if (!head) {
  129. return;
  130. }
  131. addGlobalStyle(`#styleSetting{padding: 0.2em; margin:0.2em;
  132. position: absolute;bottom: 0;right:20px;width: 20%;
  133. background-color: rgba(0,200,200,0.1);display:block;}
  134. table{text-align: center; width: 100%; height: 80%;}
  135. td{padding: 0px 0.3em;border: 1px solid black;}`);
  136. function addGlobalStyle(css) {
  137. style = document.createElement('style');
  138. style.type = 'text/css';
  139. style.innerHTML = css;
  140. head.appendChild(style);
  141. }
  142. })();
  143. var temp = `<div id="styleSetting">
  144. <input id="inputFileToLoad" type="file" style="display:none" onchange="encodeImageFile()"/>`
  145. document.querySelector('body').insertAdjacentHTML('beforeend', temp);
  146. //document.getElementById('inputFileToLoad').click();
  147.  
  148. $("body #bottom .relative").append('<div id="WOPPDRAWING" class="ugly-button 2_btn" style="position: fixed;bottom: 8px;right: 450px;width: 180px;">Draw image</div>');
  149. $("#WOPPDRAWING").click(function(){
  150. drawing1=true;
  151. document.getElementById('inputFileToLoad').click();
  152.  
  153. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement