Распечатать метку линии относительно линии, используя графику Java - PullRequest
2 голосов
/ 20 декабря 2011

Я делаю проект, в котором мне нужно напечатать метку / описание линии (нарисованное с использованием графики) относительно ориентации линии. enter image description here

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

7 голосов
/ 20 декабря 2011

Посмотрите на Graphics2D методы, такие как rotate(), scale() & translate() - также как более общий метод translate(AffineTransform).

См. Преобразование форм, текста и изображений в руководстве по Java для получения более подробной информации и рабочих примеров, особенно использования AffineTransform (который может объединять масштабирование, поворот, преобразование & операции сдвига).


Вы не упоминаете, как получили объект Graphics. Объект Graphics, передаваемый компонентам Swing в paintComponent(Graphics), обычно является экземпляром Graphics2D и может быть приведен к одному. Чтобы получить Graphics2D экземпляр из BufferedImage, позвоните createGraphics().

2 голосов
/ 20 декабря 2011

Создайте класс с именем «Маркированная линия» и сделайте что-то вроде этого

class LabeledLine {

    private int x1, y1, x2, y2;
    private String label;

    public void drawOn(Graphics g) {
        // need more features? thickness, etc? add it
        g.drawLine(x1,y1,x2,y2);
        // compute size of text, position of text, angle of text
        // draw that text
    }

}

Быстрый Google для рисования углового текста дал мне пару результатов, так что это должно быть легко сделать.

...