Create your own pixel art maker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pixel-art-maker/index.js

38 lines
1.3 KiB

7 years ago
const WIDTH = 48;
const HEIGHT = 24;
7 years ago
7 years ago
// State
let brushColor = '';
7 years ago
// Canvas
const canvas = document.createElement('div');
canvas.className = 'canvas';
7 years ago
for(let y = 0; y < HEIGHT; y++) {
const row = document.createElement('div');
row.className = 'row';
for(let x = 0; x < WIDTH; x++) {
const pixel = document.createElement('div');
pixel.className = 'pixel';
pixel.addEventListener('click', () => {
7 years ago
pixel.style.backgroundColor = brushColor;
});
7 years ago
row.appendChild(pixel);
}
7 years ago
canvas.appendChild(row);
}
document.body.appendChild(canvas);
// Palette
7 years ago
const colors = ['#b23232', '#ff4848', '#ff6c6c', '#e59b40', '#ffad48', '#ffc57e', '#e5de40', '#fff748', '#fffa91', '#39cc4b', '#48ff5e', '#91ff9e', '#3248b2', '#4867ff', '#91a3ff', '#6432b2', '#8f48ff', '#bb91ff', '#7c2b99', '#cf48ff', '#e291ff', '#000000', '#323232', '#666666', '#999999', '#cccccc', '#ffffff', '#3a2119', '#512e23', '#754233', '#90675b', '#ac8d84'];
7 years ago
const palette = document.createElement('div');
palette.className = 'palette';
for(let color of colors) {
const swatch = document.createElement('div');
swatch.className = 'swatch';
swatch.style.backgroundColor = color;
7 years ago
swatch.addEventListener('click', () => {
brushColor = color;
});
7 years ago
palette.appendChild(swatch);
}
document.body.appendChild(palette);