drawRenderedImage (изображение, AffineTransform).Как я могу получить ширину и высоту рендеринга изображения - PullRequest
0 голосов
/ 06 июля 2010

Я рисую прозрачное изображение поверх фонового изображения, которое затем отображается на JPanel.

Мне нужно получить границы визуализированного изображения после того, как оно было масштабировано и повернуто. Так что в следующий раз я позвоню перекрасить это может быть с клип отрендеренного изображения.

Есть идеи? спасибо за вашу помощь.

@Override public void paintComponent(java.awt.Graphics g)
{
    if(g != null)
    {
        g.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), null);
        Graphics2D g2 = (Graphics2D)g.create();
        double cx = sprite.getWidth()  / 2.0;
        double cy = sprite.getHeight() / 2.0;
        AffineTransform at = AffineTransform.getTranslateInstance(xPos, yPos);
        at.concatenate(AffineTransform.getScaleInstance(scale, scale));
        at.rotate(theta, cx, cy);
        g2.drawRenderedImage(sprite, at);

        //get width and height of rendered image here?

        g2.dispose();
     }

1 Ответ

0 голосов
/ 06 июля 2010

Что-то вроде

Rectangle resizedBounds = at.createTransformedShape(sprite.getBounds()).getBounds();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...