
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.03.2007, 06:29:20
|
|||
|---|---|---|---|
Прозрачный фон Graphics |
|||
|
#18+
Доброе утро, уважаемый All. Задача - анимация поверх картинки (фона). Фоновую картинук кладем (рисуем) на отдельный компонент. Поверх кладется другой с setOpaque(false) и по нему уже рисуется динамика. Задача - затереть нарисованное прозрачным сводится к задаче - очистить и сделать прозрачным объект Graphics, получаемый как: Код: plaintext Плохо то, что привычный хинт - Код: plaintext 1. который успешно работает для Graphics, полученных от Image - здесь не катит, а тупо все заливает черным. С другой стороны - тот Graphics, который получает переопределяемый Container.paint(Graphics g) - создаваемый где-то в недрах JVM - имеет прозрачную подложку (заметьте, что при каждом repaint() - создается новый Graphics). Получается, что на компоненте можно нарисовать только раз (если нужен прозрачный бэкграунд) а чтобы получить снова чистый Graphics - нужно делать repaint(). Если прозрачность не нужна - то, кончено, можно тупо залить цветом (или вызвать clearRect()) - но борьба идет за прозрачный фон. Во всех найденных примерах с прозрачным фоном компонента, используется repaint(), но это в разы медленнее чем рисование на том же самом Graphics с последующей очисткой. Кто что может присоветовать? Может, нет смысла бороться за прозрачный фон именно таким образом и можно то же самое сделать как-нибудь по-другому? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2146273]: |
0ms |
get settings: |
14ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
63ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
57ms |
get tp. blocked users: |
3ms |
| others: | 274ms |
| total: | 457ms |

| 0 / 0 |
