Фактические границы прямоугольника при рисовании с Graphics2D - PullRequest
0 голосов
/ 26 апреля 2011

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

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

drawRect (20,40,200,100);

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

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

1 Ответ

3 голосов
/ 26 апреля 2011

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

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