如何使用setPixel方法填充形状内的颜色?

时间:2016-09-01 06:03:04

标签: java image-processing pixel

我需要在自定义形状内填充颜色。我知道形状中的一个像素坐标,也知道形状的颜色。我需要知道形状内的所有像素从知道像素坐标计算我怎么能写这个逻辑可以请一些人帮忙。

1 个答案:

答案 0 :(得分:0)

  1. 对于已渲染的形状

    使用 Flood Fill 边界填充算法。例如,见:

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

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

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

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

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