I would like to set an individual pixel in Slick (i.e
Image.setPixel(x, y, r, b, g)) but I can't figure out how.
There is an
Image.setPixel function but it doesn't take x and y coordinates. Any ideas?
You're in luck.
In Slick2D, Image has a function called getGraphics, which will return you a Slick2D graphics context.
While the graphics context does not have a setPixel function, it does have a fillRect function that you can use to set a single pixel.
Graphics g = img.getGraphics(); g.setColor(color); g.fillRect(x,y,1,1); g.flush();//IMPORTANT!!!
I just tried this out myself, which is how I discovered the importance of the flush call. Also check out the example ImageGraphcisTest.java in the Slick2D src folder.
If you really want to make this from an
Image object then you must: