Own-Programming-Language-Tu.../examples/canvas/fx_image_negate.own

21 lines
554 B
Scala
Raw Normal View History

2023-09-09 15:52:32 +03:00
use std, canvasfx
graphics = window("JavaFX Image negation demo", 400, 400)
2023-09-07 19:45:16 +03:00
imgSource = createImage("https://picsum.photos/400/200/")
pixels = imgSource.getPixels()
size = length(pixels)
for i = 0, i < size, i++ {
pixel = pixels[i]
r = (pixel >> 16) & 0xFF
g = (pixel >> 8) & 0xFF
b = pixel & 0xFF
r = 255 - r
g = 255 - g
b = 255 - b
pixels[i] = 0xFF000000 | (r << 16) | (g << 8) | b
}
imgNegate = createImage(imgSource.width, imgSource.height, pixels)
graphics.drawImage(imgSource, 0, 0)
graphics.drawImage(imgNegate, 0, 200)
repaint()