Фактические границы прямоугольника при рисовании с помощью Graphics2D

#java #drawrect #graphics2d

#java #drawrect #graphics2d

Вопрос:

Как я могу надежно определить точную протяженность прямоугольника при его визуализации с использованием Graphics2D?

Предположим, у меня есть прямоугольник, который начинается с (20,40) и имеет ширину 200 пикселей и высоту 100 пикселей:

 drawRect (20,40,200,100);
  

Ответ на мой вопрос прост, когда это простой прямоугольник, грубо нарисованный пером размером в 1 пиксель. Однако, каковы точные границы, которые затрагиваются в процессе рендеринга, когда размер пера составляет 2 пикселя, 3 пикселя или более? И будет ли прямоугольник «перетекать» на соседние пиксели при использовании сглаживания?

Какой самый надежный способ вычислить точные границы, которыми будут манипулировать?

Ответ №1:

Если вам нужно знать границы обведенной фигуры, вы можете обвести ее самостоятельно и проверить границы.

 Graphics2D g;
g.getStroke().createStrokedShape(myRect).getBounds();