Проблемы получения границ строк в Java Graphics2D

Я хочу нарисовать строку. сначала я получаю границы строк, используя getStringBounds: getStringBounds(String, FontRenderContext)

а затем я использую DrawString, чтобы нарисовать строку. Я не знаю, что такое возвращаемые значения getStringBounds ("x" и "y"). Кто-нибудь может мне помочь?

Спасибо, Шади.

2 ответа

Решение

например, для одной строки возвращается: X=0, Y=-11, ширина =20, длина =17. Что означают х и у?

В большинстве графических методов вы указываете верхнее / левое местоположение для чертежа. Например

g.drawImage(image, 0, 0, null);

Однако, когда вы рисуете текст, вы указываете нижнее / левое местоположение для чертежа. Так что в вашем случае вы бы использовали:

g.drawString("string", 0, 11);

В общих чертах, я думаю, вы бы использовали абсолютное значение Y в методе drawString().

Нашел здесь.

Возвращает границы указанной строки в указанном FontRenderContext. Границы используются для разметки строки.

Parameters:
   str - the specified String
   frc - the specified FontRenderContext
Returns:
   a Rectangle2D that is the bounding box of the specified String in the specified FontRenderContext.
Другие вопросы по тегам