【问题标题】:How to Fill color inside shape using setPixel method?如何使用 setPixel 方法填充形状内部的颜色?
【发布时间】:2017-01-08 21:05:28
【问题描述】:

我需要在自定义形状内填充颜色。我知道形状内部的像素坐标之一,也知道形状的颜色。我需要通过知道像素坐标来计算形状内的所有像素,我该如何为此编写逻辑,请有人帮忙。

【问题讨论】:

    标签: java image-processing pixel


    【解决方案1】:
    1. 对于已经渲染的形状

      使用 Flood FillBoundary fill 算法。例如参见:

      请注意,大多数实现都是递归的,因此对于更大的区域,堆栈/堆溢出的风险很高。还有使用更安全的动态点列表的迭代方法。

    2. 对于矢量形式的多边形

      使用凸多边形填充。如果您有凹多边形,则需要先将它们分成凸多边形。另一种选择是三角测量。三角形和凸多边形光栅化都是一样的,见:

      如果您需要三角测量,请参阅:

      如果形状非常复杂并且由于任何原因无法进行三角剖分,您可以尝试填充多边形边界框中的所有像素。为此,您需要:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-04
      • 2017-02-20
      • 2014-05-26
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      相关资源
      最近更新 更多