您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Pinta a Imagem esolhida dentro do OWOP
当前为
// ==UserScript== // @name OWOP Image To Pixel // @match *.ourworldofpixels.com/* // @description Pinta a Imagem esolhida dentro do OWOP // @author Pedro Henrique // @version 1.4 // @namespace https://greasyfork.org/users/831014 // @icon https://www.google.com/s2/favicons?domain=ourworldofpixels.com // ==/UserScript== var x = 0; var y = 0; var image = ""; var delay = 50; var pointpaint = false; var running; function run() { console.log(image); var eae = image.split(';'); var eaelength = eae.length; var totalsize = [parseInt(eae[eaelength-6]),parseInt(eae[eaelength-5])]; if (pointpaint == false) // HORIZONTAL PAINT { running = setInterval(function() { loop: for (var i = 1; i < eae.length; i++) { var x1 = x + parseInt(eae[(i*5)-5]); var y1 = y + parseInt(eae[(i*5)-4]); var red = parseInt(eae[(i*5)-3]); var green = parseInt(eae[(i*5)-2]); var blue = parseInt(eae[(i*5)-1]); if (OWOP.world.getPixel(x1,y1) != null && OWOP.world.getPixel(x1,y1)[0] != red && OWOP.world.getPixel(x1, y1)[1] != green && OWOP.world.getPixel(x1, y1)[2] != blue) { if(x1<(OWOP.mouse.tileX+29) && x1>(OWOP.mouse.tileX-29) && y1>(OWOP.mouse.tileY-29) && y1<(OWOP.mouse.tileY+29)) { OWOP.world.setPixel(x1, y1, [red, green, blue], false) break loop; } } } }, delay); } else // POINT PAINT { running = setInterval(function() { var iposX = OWOP.mouse.tileX-x; var iposY = OWOP.mouse.tileY-y; var currentpos = ((iposX+1) + (totalsize[0] * iposY))+iposY if (currentpos < 0 || currentpos > eaelength) { currentpos = 1 } loop: for (var i = currentpos; i < eae.length; i++) { var x1 = x + parseInt(eae[(i*5)-5]); var y1 = y + parseInt(eae[(i*5)-4]); var red = parseInt(eae[(i*5)-3]); var green = parseInt(eae[(i*5)-2]); var blue = parseInt(eae[(i*5)-1]); // alert(x1 + "/" + y1 + "/" + red + "/" + green + "/" + blue); if (OWOP.world.getPixel(x1,y1) != null && OWOP.world.getPixel(x1,y1)[0] != red && OWOP.world.getPixel(x1, y1)[1] != green && OWOP.world.getPixel(x1, y1)[2] != blue) { if(x1<(OWOP.mouse.tileX+29) && x1>(OWOP.mouse.tileX-29) && y1>(OWOP.mouse.tileY-29) && y1<(OWOP.mouse.tileY+29)) { OWOP.world.setPixel(x1, y1, [red, green, blue], false) break loop; } } } }, delay); } } function openSeekbarWindow() { OWOP.windowSys.addWindow(new OWOP.windowSys.class.window('Colocar Imagem em pixel', {}, function(win) { win.container.title = 'Pintar a Imagem'; win.container.style.height = 'auto'; win.container.style.width = '100px'; win.container.style.overflow = 'hidden'; win.addObj(document.createTextNode('Escolher Imagem')); win.addObj(OWOP.util.mkHTML('div',{})); var imagem = OWOP.util.mkHTML('img', { id:'imagem', width:32, height:32, }) win.addObj(imagem); var escolherimagem = OWOP.util.mkHTML('input', { id: 'imageminput', type: 'file', oninput: function(evt) { function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onloadend = async function (e) { var img = new Image(); document.getElementById("imagem").src = e.target.result; img.src = await e.target.result; console.log(img.width); console.log(img.height); console.log(input.files[0]); var canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; var context = canvas.getContext('2d'); context.drawImage(img, 0, 0, img.width, img.height); image = ""; for(var v = 0;v<img.height;v++) { for (var i = 0;i<img.width;i++) { var pixelData = context.getImageData(i, v, 1, 1).data; let code = i + ";" + v + ";" + pixelData[0] +";"+pixelData[1]+";"+pixelData[2]+";"; image += code.toString(); } } } reader.readAsDataURL(input.files[0]); } } readURL(this) } }); win.addObj(escolherimagem); win.addObj(document.createTextNode('X : ')); var inputX = OWOP.util.mkHTML('input', { id: 'Xinput', oninput: function() { x = parseInt(this.value); } }); win.addObj(inputX); win.addObj(document.createTextNode('Y : ')); var inputY = OWOP.util.mkHTML('input', { id: 'Yinput', oninput: function() { y = parseInt(this.value); } }); win.addObj(inputY); var delaytext = win.addObj(document.createTextNode('Delay : ')); var delayinput = OWOP.util.mkHTML('input', { id: 'delayinput', type: 'range', min: 1, max: 500, oninput: function() { delay = parseInt(this.value); delaytext.nodeValue = "Delay : " + delay } }); win.addObj(delayinput); win.addObj(document.createTextNode('Point Paint')); var pointpaintcheck = OWOP.util.mkHTML('input', { id: 'pointpaintcheck', type: 'checkbox', oninput: function() { pointpaint = this.checked; } }); win.addObj(pointpaintcheck); win.addObj(OWOP.util.mkHTML('div',{})); var button = OWOP.util.mkHTML('button', { id: 'Ativacao', innerHTML: 'Ativar', onclick: function() { if (document.getElementById("Xinput").value != "") { if (document.getElementById("Yinput").value != "") { run(); } } } }); win.addObj(button); var desativar = OWOP.util.mkHTML('button', { id: 'Desativacao', innerHTML: 'Desativar', onclick: function() { clearInterval(running); } }); win.addObj(desativar); document.addEventListener('keydown', (event) => { const keyName = event.key; if (keyName == "e" || keyName == "E") { document.getElementById("Xinput").value = OWOP.mouse.tileX document.getElementById("Yinput").value = OWOP.mouse.tileY x=OWOP.mouse.tileX y=OWOP.mouse.tileY } }); }).move(window.innerWidth - 500, 32)); } if (typeof OWOP != 'undefined') openSeekbarWindow(); window.addEventListener('load', function() { setTimeout(openSeekbarWindow, 1234); });