Java area.getPathIterator - как использовать правило обмотки WIND_EVEN_ODD вместо WIND_NON_ZERO?

У меня есть область в форме пончика. "Отверстие" пончика должно быть пустым.

Когда я использую area.getPathIterator(null), результирующий PathIterator имеет правило обмотки, установленное на WIND_NON_ZERO. Это означает, что отверстие считается заполненнымPathIterator.

Есть ли способ сделать так, чтобы PathIterator использует WIND_EVEN_ODDвместо этого правило? Мне действительно нужно, чтобы эта дыра была пустой.

Пример:

Area area = new Area(new java.awt.Rectangle(0, 0, 100, 100));
area.subtract(new Area(new java.awt.Rectangle(25, 25, 50, 50))); //hollow rectangle

System.out.println("Winding rule: " + area.getPathIterator(null).getWindingRule());
// Returns 1, which is WIND_NON_ZERO

0 ответов

Другие вопросы по тегам