我应该如何打开或关闭每个像素并更改其颜色: - /
答案 0 :(得分:4)
如果您使用BufferedImage,则有一个名为setRGB的方法可以执行您想要的操作。
答案 1 :(得分:4)
如果您使用Graphics
(或Graphics2D
)对象(使用AWT / Swing的a.k.a)进行正常绘画,那么drawing a single-pixel line是正常的方式:
int x = 100;
int y = 200;
g.drawLine(x, y, x, y);
答案 2 :(得分:1)
据我所知,在java中没有绘制像素的方法。你做的是使用fillRect或drawLine(在BufferedImage上),with和height等于1。
事先使用setRGB设置颜色。
但是,如果您使用它来创建单个图像(如分形图生成器或类似图像),那么有更有效的方法:
int pixels[] = new int[width * height];
//Draw pixels here, by using something like this:
pixels[y*width + x] = (alpha<<24) | (rgb[0]<<16) | (rgb[1]<<8) | rgb[2]
//Convert to an image like so:
MemoryImageSource source = new MemoryImageSource(width,height,pixels,0,width);
Image image = Toolkit.getDefaultToolkit().createImage(source);