Как использовать классы Java Graphics или Graphics2D, как нарисовать строку?

StackOverflow https://stackoverflow.com/questions/1206193

Вопрос

У меня есть String , и я хочу нарисовать его на изображении. Однако я могу рисовать точки и рисовать линии даже после прочтения Текстовая часть учебника по 2D-графике , я не могу понять, как взять String и нарисовать его на своем чертеже.

Если я не смотрю неправильный учебник (но я получаю его всякий раз, когда ищу что-нибудь о Java и рисовании строк с использованием Graphics или Graphics2D ), я Я все еще в тупике.

Это было полезно?

Решение

Проверьте следующий метод.

g.drawString();

drawString () сделает то, что вам нужно.

Пример использования:

protected void paintComponent(Graphics g){
    g.setColor(Color.BLACK);
    g.drawString(5, 40, "Hello World!");
}

Просто помните, что координаты относятся к нижнему левому углу String , который вы рисуете.

Другие советы

если вы хотите поиграть с shape вашей строки (например: fill: red и stroke: blue):

Graphics2D yourGraphicsContext=(...);
Font f= new Font("Dialog",Font.PLAIN,14);
FontRenderContext frc = yourGraphicsContext.getFontRenderContext();
TextLayout tl = new TextLayout(e.getTextContent(), f, frc);
Shape shape= tl.getOutline(null);

//here, you can move your shape with AffineTransform (...)

yourGraphicsContext.setColor(Color.RED);
yourGraphicsContext.fill(shape);
yourGraphicsContext.setColor(Color.BLUE);
yourGraphicsContext.draw(shape);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top