Явская кафельная краска - PullRequest
       7

Явская кафельная краска

3 голосов
/ 17 февраля 2010

Я пишу игру, и я хочу, чтобы на области экрана была нарисована кафельная краска. Использование TexturePaint java поддерживает текстурирование Shape с помощью мозаичной текстуры, это действительно просто и работает довольно хорошо. Однако я хочу, чтобы моя мозаичная текстура была повернута перед рисованием ее в качестве заливки фигуры - это теоретически возможно путем создания подкласса TexturePaint и применения преобразования, однако это действительно очень плохо.

Поддерживает ли java это? Если нет, есть ли основания полагать, что подклассы texturePaint могут работать очень плохо?

1 Ответ

1 голос
/ 08 февраля 2012

Лучше всего просто повернуть BufferedImage, прежде чем выбросить его в TexturePaint.

AffineTransform texture = new AffineTransform();
texture.rotate(radians, bufferedImage.getWidth()/2, bufferedImage.getHeight()/2);

AffineTransformOp op = new AffineTransformOp(texture, AffineTransformOp.TYPE_BILINEAR);
bufferedImage = op.filter(bufferedImage, null);

Вы должны иметь возможность создавать подклассы TexturePaint, не получая снижения производительности, я могу только предположить, что ваш код поворота вызывает падение.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...