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

start [/forum/topic.php?fid=59&fpage=652&tid=2146273]: |
0ms |
get settings: |
19ms |
get forum list: |
20ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 313ms |
| total: | 469ms |

| 0 / 0 |
