xxxxxxxxxx
33
let img
let scl = 3
let files = ['flag-south-korea-1.png', 'flag-united-states.png', 'USA-flag.png', 'stardew_character_0.PNG']
function preload() {
img = loadImage(files[3])
}
function setup() {
createCanvas(img.width*scl, img.height*scl)
img.loadPixels()
colorMode(RGB, 255, 255, 255, 255)
let colors = []
for (let i = 0; i < img.pixels.length; i+=4) {
let [r, g, b, a] = [img.pixels[i], img.pixels[i+1], img.pixels[i+2], img.pixels[i+3]]
let c = color(r, g, b, a)
colors.push([hue(c)/360, saturation(c)/100, brightness(c)/100, a/255])
}
colors.sort((a, b) => a[0] - b[0])
colorMode(HSB, 1, 1, 1, 1)
noStroke()
for (let i = 0; i < colors.length; i++) {
let x = (i % img.width) * scl
let y = floor(i / img.width) * scl
let c = colors[i]
fill(c[0], c[1], c[2], c[3])
rect(x, y, scl, scl)
}
}