gpt4 book ai didi

java - 如何在Java Graphics中找出用户绘制的线条中的所有像素

转载 作者:行者123 更新时间:2023-12-01 15:23:32 25 4
gpt4 key购买 nike

我一直在尝试将用户绘制的线条的所有像素放入数组中。

稍后我将尝试对这条线进行分析,因此不要错过任何像素非常重要。使用我当前使用的代码,它会丢失相当多的像素。问题应该出在图形创建线条而不是单个像素的方式上。设置的像素将保存到 image1Pixel 数组中。这是我的 myMouseDragPaint 函数,我在其中将行保存到数组中。有谁知道我该如何改变它,这样我就不会错过任何像素?如果您需要有关此问题的任何其他信息,请随时询问。

谢谢,

米扎

最佳答案

您在代码中仅保存线顶点,缺少它们之间的所有像素:

image1Pixel[currX][currY] = 1; // line vertex
G.drawLine(prevX, prevY, currX, currY); // this draws a whole line, no just two vertex points

您需要:

  • 对该行上的所有像素进行插值。例如,流行的算法是 Bresenham's
  • 或者获取图像并直接从中读取像素颜色

另请注意,线条不覆盖单个像素(除了完全垂直或水平的像素)。因此,第二个选项更适合您,因为您不会在图形库之后重复绘制数学。

关于java - 如何在Java Graphics中找出用户绘制的线条中的所有像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10514700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com