Вращение изображения, выходящее за видимые границы при использовании аффинного преобразованияJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вращение изображения, выходящее за видимые границы при использовании аффинного преобразования

Сообщение Anonymous »

Я вращаю изображение с помощью аффинного преобразования, чтобы создать маятник, который движется вперед и назад. При повороте изображения влево оно выходит за видимые границы и исчезает. Как я могу переместить границы, чтобы изображение всегда было видно? Это код, используемый для поворота изображения, и изображение, которое я использую для поворота.
Изображение, которое качается:
Изображение

Код: Выделить всё

public void paintComponent(Graphics g) {
// if no image set, then just draw a rectangle
if (sprite == null) {
g.setColor(c);
g.fillRect(0, 0, (int) getBounds().getWidth(), (int) getBounds().getHeight());
} else {
try {
AffineTransform at = new AffineTransform();
if (spriteAngle != 0) {
at.rotate(spriteAngle, getWidth() / 2, getHeight() / 2);
}
at.scale(getWidth() * 1.0 / sprite.getWidth(), getHeight() * 1.0 / sprite.getHeight());
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(sprite, at, null);
} catch (Exception e) {
g.drawImage(sprite, 0, 0, getWidth(), getHeight(), this);
}
}
}
Я попробовал использовать класс Rectangle для создания временного преобразования для смещения границ и перевода объекта. Я также пробовал вращать вокруг центра и менять изображение на.
Изображение находится только в правом нижнем углу, поэтому оно всегда находится в границах:
Изображение

однако это не работает, так как мне нужно увеличивать длину изображения с течением времени.


Подробнее здесь: https://stackoverflow.com/questions/785 ... sformation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»