我正在寻找一种用Java制作一个简单的网格的方法,如果你拖动鼠标,它就会填充像素。所以只是一个简单的绘图表面...
现在重要的是我可以选择分辨率,或者换句话说,选择像素大小......
我需要在网格中绘制的图形作为神经网络中的输入模式。所以我想稍后在 2Darray 中检索信息。
例如:一个 20*20 的网格,其中每个“像素”(或者正方形可能更合适)实际上是一个由 10*10 真实像素组成的正方形。
如何制作一个简单的 PixelGrid,我可以用鼠标绘制大像素(选择分辨率)?
最佳答案
- 创建一个
boolean
二维数组(用于存储所选区域或像素),所有数组元素默认为 false。 - 添加
MouseMotionListener
到自定义绘画表面。 - 绘画表面可能是
- 扩展的
JPanel
,或者.. BufferedImage
显示在JLabel
中
- 扩展的
- 在
mouseDragged(MouseEvent)
方法,决定转换为什么“像素”,并将其设置为true
。 - 在面板上调用
repaint()
,或者更新图像并重新绘制标签。 - 绘画时,改变每个
true
数组元素对应区域的颜色。
关于java - 简单的 PixelGrid,我可以用鼠标绘制大像素(选择分辨率)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16317804/