java - 简单的 PixelGrid,我可以用鼠标绘制大像素(选择分辨率)?

标签 java matrix grid awt draw

我正在寻找一种用Java制作一个简单的网格的方法,如果你拖动鼠标,它就会填充像素。所以只是一个简单的绘图表面...

现在重要的是我可以选择分辨率,或者换句话说,选择像素大小......

我需要在网格中绘制的图形作为神经网络中的输入模式。所以我想稍后在 2Darray 中检索信息。

例如:一个 20*20 的网格,其中每个“像素”(或者正方形可能更合适)实际上是一个由 10*10 真实像素组成的正方形。

如何制作一个简单的 PixelGrid,我可以用鼠标绘制大像素(选择分辨率)?

最佳答案

  1. 创建一个 boolean 二维数组(用于存储所选区域或像素),所有数组元素默认为 false。
  2. 添加 MouseMotionListener到自定义绘画表面。
  3. 绘画表面可能是
    • 扩展的JPanel,或者..
    • BufferedImage 显示在 JLabel
  4. mouseDragged(MouseEvent)方法,决定转换为什么“像素”,并将其设置为 true
  5. 在面板上调用 repaint(),或者更新图像并重新绘制标签。
  6. 绘画时,改变每个true数组元素对应区域的颜色。

关于java - 简单的 PixelGrid,我可以用鼠标绘制大像素(选择分辨率)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16317804/

相关文章:

java - Localhost - 连接重置错误

html - 具有 3 个 div 的容器,使用 Flex-box/Grid

java - 使用 Spring 注释配置时无法加载 html 页面

java - 数据竞赛和安全发布

java - 约束不起作用?

c++ - 在 C++ 上的 Armadillo 中,稀疏矩阵上的 sum(<sp_mat>,<dim>) 不起作用

r - 基于组和时间的值的共现(矩阵)

python - 多维矩阵(/数组)的矩阵乘法 - 如何避免循环?

java - 以类似网格的方式添加框的按钮

javascript - jQuery 仅水平或垂直选择单元格