powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Прозрачный фон Graphics
1 сообщений из 1, страница 1 из 1
Прозрачный фон Graphics
    #34417130
Фотография T800
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро, уважаемый All.

Задача - анимация поверх картинки (фона). Фоновую картинук кладем (рисуем) на отдельный компонент. Поверх кладется другой с setOpaque(false) и по нему уже рисуется динамика. Задача - затереть нарисованное прозрачным сводится к задаче - очистить и сделать прозрачным объект Graphics, получаемый как:
Код: plaintext
Graphics g =  myJComponent.getGraphics;

Плохо то, что привычный хинт -
Код: plaintext
1.
((Graphics2D)gg).setComposite(AlphaComposite.Clear);
gg.fillRect(x,y,dx,dy);

который успешно работает для Graphics, полученных от Image - здесь не катит, а тупо все заливает черным. С другой стороны - тот Graphics, который получает переопределяемый Container.paint(Graphics g) - создаваемый где-то в недрах JVM - имеет прозрачную подложку (заметьте, что при каждом repaint() - создается новый Graphics). Получается, что на компоненте можно нарисовать только раз (если нужен прозрачный бэкграунд) а чтобы получить снова чистый Graphics - нужно делать repaint(). Если прозрачность не нужна - то, кончено, можно тупо залить цветом (или вызвать clearRect()) - но борьба идет за прозрачный фон.
Во всех найденных примерах с прозрачным фоном компонента, используется repaint(), но это в разы медленнее чем рисование на том же самом Graphics с последующей очисткой.

Кто что может присоветовать? Может, нет смысла бороться за прозрачный фон именно таким образом и можно то же самое сделать как-нибудь по-другому?

Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Прозрачный фон Graphics
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]