返回首頁 

Greasy Fork is available in English.

OWOP Image To Pixel

Script that inserts the image for pixelart in OWOP


Installer ce script?
// ==UserScript==// @name         OWOP Image To Pixel// @match        *.ourworldofpixels.com/*// @description  Script that inserts the image for pixelart in OWOP// @author       Pedro Henrique// @license      MIT// @version      3.0// @namespace https://greasyfork.org/users/831014// @icon https://www.google.com/s2/favicons?domain=ourworldofpixels.com// ==/UserScript==var x = 0;var y = 0;var alphar = 255;var alphag = 255;var alphab = 255;var imagesize = 64;var image = [];var delay = 50;var pointpaint = false;var alphacheck = true;var replacealphacheck = false;var running;function run() {var _lastimagepixel = [parseInt(image[image.length-1][0]), parseInt(image[image.length-1][1])];running = setInterval(function () {var iposX = OWOP.mouse.tileX - x;var iposY = OWOP.mouse.tileY - y;var currentpos = ((iposX + 1) + (_lastimagepixel[0] * iposY)) + iposYif (pointpaint == true) {if (currentpos < 0 || currentpos > image.length) {currentpos = 0}}else {currentpos = 0}loop:for (var i = currentpos; i < image.length; i++) {var x1 = x + parseInt(image[i][0]);var y1 = y + parseInt(image[i][1]);var red = parseInt(image[i][2]);var green = parseInt(image[i][3]);var blue = parseInt(image[i][4]);var alpha = parseInt(image[i][5]);if (replacealphacheck == false && alphacheck == true && alpha < 127) {red = OWOP.world.getPixel(x1, y1)[0];green = OWOP.world.getPixel(x1, y1)[1];blue = OWOP.world.getPixel(x1, y1)[2];} else if (replacealphacheck == true && alpha < 127) {red = alphar;green = alphag;blue = alphab;}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 + 30) && x1 > (OWOP.mouse.tileX - 30) && y1 > (OWOP.mouse.tileY - 30) && y1 < (OWOP.mouse.tileY + 30)) {OWOP.world.setPixel(x1, y1, [red, green, blue], false)break loop;}}}}, delay);}function initializeComponent() {OWOP.windowSys.addWindow(new OWOP.windowSys.class.window("Image to PixelArt", {}, function (win) {win.container.style = "height:auto;width:175px;overflow:hidden"// Imagemwin.addObj(document.createTextNode('Choose image'));win.addObj(OWOP.util.mkHTML('div', {}));var imagem = OWOP.util.mkHTML('img', {id: 'imagem',width: 32,height: 32,})win.addObj(imagem);win.addObj(OWOP.util.mkHTML('div', {}));// Tamanho da Imagemvar imgsizetxt = win.addObj(document.createTextNode('Image Size (0px) : '));var imgsizeinput = OWOP.util.mkHTML('input', {id: 'imgsizeinput',value: 64,oninput: function () {imgsizetxt.nodeValue = "Image Size (" + this.value + "px) : "imagesize = this.value;}});win.addObj(imgsizeinput);// Aplicat tamanhovar applysize_button = OWOP.util.mkHTML('button', {id: 'applysize',innerHTML: 'Apply Size',onclick: function () {applysize();}});win.addObj(applysize_button);// Escolher imagemvar 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();img.src = await e.target.r###lt;document.getElementById("imagem").src = img.src;applysize();}reader.readAsDataURL(input.files[0]);}}readURL(this)}});win.addObj(escolherimagem);// Input da posição da imagem no OWOPwin.addObj(document.createTextNode('X : '));var inputX = OWOP.util.mkHTML('input', {id: 'Xinput',oninput: function () {x = parseInt(this.value);}});win.addObj(OWOP.util.mkHTML('div', {}));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);// Delay para aplicar pixel no owopvar delaytext = win.addObj(document.createTextNode('Delay : '));var delayinput = OWOP.util.mkHTML('input', {id: 'delayinput',type: 'range',min: 1, max: 500,oninput: function () {delaytext.nodeValue = "Delay : " + parseInt(this.value);delay = parseInt(this.value);}});win.addObj(delayinput);// Modo Point Paint, que pinta o pixel onde você está apontando o mousewin.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', {}));// Substituir a cor apha do OWOPwin.addObj(document.createTextNode('Replace Alpha Color'));var alphainput = OWOP.util.mkHTML('input', {id: 'replacecheck',type: 'checkbox',oninput: function () {replacealphacheck = this.checked;}});win.addObj(alphainput);// Tipo de corvar coloriralpha = OWOP.util.mkHTML('input', {type: 'color',id: 'replacealphacolor',onchange: function () {alphar = hexToRgb(this.value).r;alphag = hexToRgb(this.value).g;alphab = hexToRgb(this.value).b;}});win.addObj(coloriralpha);win.addObj(OWOP.util.mkHTML('div', {}));// Opção de ignorar o Alpha da imagemwin.addObj(document.createTextNode('Ignore Alpha (.png)'));var alphainput = OWOP.util.mkHTML('input', {id: 'alphacheck',type: 'checkbox',checked: 'true',oninput: function () {alphacheck = this.checked;}});win.addObj(alphainput);win.addObj(OWOP.util.mkHTML('div', {}));// Botão de Ativarvar button = OWOP.util.mkHTML('button', {id: 'EnableImageToPixel',innerHTML: 'Activate',onclick: function () {if (document.getElementById("Xinput").value != "") {if (document.getElementById("Yinput").value != "") {run();document.getElementById("EnableImageToPixel").disabled = 'true';}}}});win.addObj(button);// Botão de desativarvar desativar = OWOP.util.mkHTML('button', {id: 'DisableImageToPixel',innerHTML: 'Disable',onclick: function () {clearInterval(running);document.getElementById("EnableImageToPixel").removeAttribute("disabled");}});win.addObj(desativar);// Evento para definir a posição da imagem no OWOPdocument.addEventListener('keydown', (event) => {const keyName = event.key;if (keyName == "e" || keyName == "E") {document.getElementById("Xinput").value = OWOP.mouse.tileXdocument.getElementById("Yinput").value = OWOP.mouse.tileYx = OWOP.mouse.tileXy = OWOP.mouse.tileY}});}).move(window.innerWidth - 500, 32));}function applysize() {var img = new Image();img.src = document.getElementById("imagem").srcvar canvas = document.createElement('canvas');var imgW = 0;var imgH = 0;if (imagesize == 0) {imgW = img.width;imgH = img.height;}else {if (imagesize.toString().includes(";")) {let wh = imagesize.toString().split(";");imgW = parseInt(wh[0]);imgH = parseInt(wh[1]);}else {imgW = imagesize;imgH = imagesize;}}canvas.width = imgW;canvas.height = imgH;var context = canvas.getContext('2d');context.drawImage(img, 0, 0, imgW, imgH);//context.drawImage(img, 0, 0, img.width, img.height);image = [];for (var v = 0; v < imgH; v++) {for (var i = 0; i < imgW; i++) {var pixelData = context.getImageData(i, v, 1, 1).data;image.push([i,v,pixelData[0],pixelData[1],pixelData[2],pixelData[3]])}}}function hexToRgb(hex) {var r###lt = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return r###lt ? {r: parseInt(r###lt[1], 16),g: parseInt(r###lt[2], 16),b: parseInt(r###lt[3], 16)} : null;}if (typeof OWOP != 'undefined') initializeComponent();window.addEventListener('load', function () {setTimeout(initializeComponent, 2000);// Função que auto reconecta o OWOPsetInterval(() => {if (document.getElementById("load-options").class == "hide") {document.getElementById("reconnect-btn").click();}}, 1000);});