![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Fredik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2006 Репутация: нет Всего: нет |
Злравствуйте.
Требется ваша помощь господа. Я вывожу на канву рабочего стола изображение.. вот так ..
вывожу его каждую секунду .. это график и его надо обновлять в такой интервал.. выводя заново картинку я перекрываю старую область .. в этом проблем нет .. НО.. мне надо выводить картинку с прозрачным фоном .. чтоб на экране отображался сам график.. а не огромный черный прямоугольник с маленьким графиком .. вывести такую картинку тоже не составляет труда .. вот только получается нечем перекрыть старое изображение как в случае с не прозрачным фоном .. и получается график налаживается сам на себя .. и создает кашу .. можно перерисовать все элементы на экране например функцией InvalidateRect(0, nil, true); но эта перерисовка создает мерцание .. а надо перерисовать или только область где выводится картинка или еще как то .. но чтоб не было мерцания... Заранее примного благодарен! |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 18 Всего: 484 |
А зачем ты рисуешь на рабочем столе?
Сделай своё окно и рисуй на нём. А прозрачность окну легко сделать системно. Но, если это принципиально, то нужно запомнить, что находится под областью на которой ты рисуешь и на битмап отрисовывать сначала её, а потом график. |
|||
|
||||
| Fredik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2006 Репутация: нет Всего: нет |
на рабочем столе я рисую для того что б картинка выводилась по верх всех окон...
если это будет в окне .. (пусть поверх др окон) то чтоб мне кликнуть на элемент под графиком надо будет отодвигать окно .. это затраты времени .. неудобства.. а вот запоминание области хороший вариант .. но я уже думал об этом здесь тоже есть бок.. запоминаться будет постоянно одна и та же картинка .. если в это время на фоне сменится окошечко .. то его часть будет заменена старой картинкой .. получается тут динамически меняется и фон и сам график.. вот в чем проблема.. тоесть мне надо обязательно как то перерисовывать фон чтоб освободить его от старого рисунка перед нанесением нового .. |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 4 Всего: 12 |
Чтоб не мерцало попробуй DoubleBuffered:=True;
Но проблемы всё равно будут так как ресуеш на главном окне. |
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 18 Всего: 484 |
Это классическая головоломка, которую ещё никто не решил. Как и когда обновлять эту картинку - решать тебе ;-) Гениально! Одна проблема - у рабочего стола и чужих окон нет свойства DoubleBuffered... |
||||
|
|||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
Дык ты не скриншот делай, а непосредственно снимок того, что на десктопе -------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| Fredik |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2006 Репутация: нет Всего: нет |
да действительно .. регионы использовать будет то что надо ! Спасибо.. RE: Дык ты не скриншот делай, а непосредственно снимок того, что на десктопе чтоб мне сделать снимок непосредственно того надо его обновиь .. если бы все так просто было я бы не создавал этот пост Всем спасибо .. Добавлено через 3 минуты и 7 секунд хотя регионами тоже будет не то немного .. линии графика тонкие и извилистые .. будет не красиво и даже не читабильно может быть .. но вариант хорош под эту задачу !! а я пожалуй остановлюсь на черном обновляемом прямоугольнике |
||||
|
|||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 1 Всего: 88 |
посмотритут
-------------------- Обижено школьников: 8 |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 4 Всего: 12 |
||||
|
||||
| Fredik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2006 Репутация: нет Всего: нет |
||||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
хм... гдето недавно проскакивала тема про OSD окна...
Добавлено через 2 минуты и 40 секунд ага, вот в той теме сслыка была дана http://users.adelphia.net/~rllibby/source.html там посмотри OSD. может то, что надо. -------------------- There are always someone smarter than you... |
|||
|
||||
| Fredik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2006 Репутация: нет Всего: нет |
Спасибо.. щас посмотрю .. никогда не слышал про osd окна
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |