-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
42 lines (36 loc) · 1.6 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Carga la imagen del skin
const skin = document.querySelector("input[name='skin']");
// Al enviar el formulario
function crearSkin() {
// Obtiene la imagen del skin
const data = new FormData(document.querySelector("form"));
const skinData = data.get("skin");
// Crea una imagen a partir de los datos del skin
const skinImage = new Image();
skinImage.src = window.URL.createObjectURL(new Blob([skinData], {type: "image/png"}));
// Recorta la imagen del skin
const cuerpo = skinImage.crop(0, 0, 64, 32);
const cabeza = skinImage.crop(64, 0, 64, 32);
const piernas = skinImage.crop(128, 0, 64, 32);
const pies = skinImage.crop(192, 0, 64, 32);
// Reemplaza las partes del skin
const cabezaReemplazada = cuerpo.cloneNode(true);
const esquinaReemplazada = cabeza.cloneNode(true);
const brazoIzquierdoReemplazado = piernas.cloneNode(true);
const brazoDerechoReemplazado = pies.cloneNode(true);
const pechoReemplazado = cabeza.cloneNode(true);
// Crea la plantilla del skin
const plantilla = document.querySelector(".resultado");
plantilla.innerHTML = `
<img src="${cuerpo.src}" alt="Cuerpo">
<img src="${cabezaReemplazada.src}" alt="Cabeza">
<img src="${piernas.src}" alt="Piernas">
<img src="${pies.src}" alt="Pies">
<img src="${esquinaReemplazada.src}" alt="Esquina">
<img src="${brazoIzquierdoReemplazado.src}" alt="Brazo izquierdo">
<img src="${brazoDerechoReemplazado.src}" alt="Brazo derecho">
<img src="${pechoReemplazado.src}" alt="Pecho">
`;
}
// Asocia el evento submit al formulario
document.querySelector("form").addEventListener("submit", crearSkin);