Всем привет! Делаю игру вроде пиксель-арта, где надо по номерам раскрашивать картинку. Записываю картинки в формате матрицы (row => col => color):
let matrix = [
['white', 'red', 'white', 'red', 'white'],
['red', 'red', 'red', 'red', 'red'],
['red', 'red', 'red', 'red', 'red'],
['white', 'red', 'red', 'red', 'white'],
['white', 'white', 'red', 'white', 'white']
]
На примере я показал именованные цвета, но можно и hex'ом.
Для выбора цвета я перебираю этот массив и записываю цвет в отдельный массив. Если такой цвет уже есть, то пропускаю:
let colors = [];
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[0].length; j++) {
console.log(matrix[i][j]);
if (colors.indexOf(matrix[i][j]) === -1) colors.push(matrix[i][j]);
}
}
Как мне сделать функцию, которая будет разбивать
обычную картинку на пиксели и записывать их в matrix? Вручную записывать не удобно.