Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Проблема с выводом графика   Найти похожие ветки 

 
-matrix- ©   (2006-01-10 15:23) [0]

Хотелось бы узнать у Мастеров, каким образом можно осуществить следующую ситуацию: мне требуется в правом нижнем углу экрана рисовать 3х мерную диаграмму (график), но не сплошную, а с "просветами" на остальные окна. Мне хотелось бы сделать это наилучшим способом с точки зрения быстродействия, тк она будет обновляться каждые 1-2 с. Пока программа работает следующим образом: в памяти рисуется bitmap со всеми координатними плоскостями и графиком, затем он (по идее) должен рисоваться поверх все окон. Но, во-первых, я не нашел инфы по выводу Tbitmap"а  на экран, а во-вторых, я не определился с задним фоном графика: сделать его прозрачным или скринить то место на экране и уже сверху него рисовать данный график?
Заранее спасибо


 
-matrix- ©   (2006-01-11 20:16) [1]

Хм, переформулируем запрос в вопросы:
 1. Наиболее быстрый способ работы с графикой - рисование на canvas"е bitmap"а, находящегося в памяти, и затем его вывода?
 2. Как мне нарисовать конкретный bitmap поверх всех окон?
 3. Если картинка имеет "просветы", те скозь нее видны другие окна, то как лучше это реализовать: сначала скриним данный участок экрана, потом сверху него рисуем все что надо и помещаем итоговый рисунок поверх окон, или просто использовать transparent в этом bitmap"е?

ps Не мне Вам указывать, но (вдруг ускользнуло от админов?) у Вас не работает ссылка на другие сайты, не скачивается дайджест, да и поиск глючит...


 
Хинт ©   (2006-01-11 20:23) [2]

Я думаю лучше рисовать не на экране (BitBlt), а просто создать форму с AlphaBlend"ом, кинуть на неё TImage и отображать уже в Image.Picture.Bitmap (правда подойдет только для XP).

Если всё же хочешь рисовать - то вот пример:
var
DC:HDC;
Bmp:TBitmap;
begin
...
DC:=GetDC(0);
BitBlt(dc,pt.X,pt.Y,HintBMP.Width,HintBMP.Height,HintBMP.Canvas.Handle,0,0,SRCCOPY);
ReleaseDC(0, DC);
end;


 
Deka ©   (2006-01-12 12:17) [3]

В дополнение к [2] могу сказать, что просто график без фона может смотреться довольно плохо если будет отрисовываться на чем-нибудь пестром (бывают же пестрые обои?). Поэтому IMHO лучший способ - это сделать полупрозрачную форму
(прозрачность может регулировать юзер), а на ней уже отрисовывать график.



Страницы: 1 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
15-1137679046
han_malign
2006-01-19 16:57
2006.02.12
Россия пошатнулась под ударами морозов


2-1137861040
JEK2
2006-01-21 19:30
2006.02.12
Настройки программы в файле как?


11-1118222497
Leonid
2005-06-08 13:21
2006.02.12
Плавающая панель инструментов


4-1130924180
Id
2005-11-02 12:36
2006.02.12
Информация о винте


15-1137685587
Kerk
2006-01-19 18:46
2006.02.12
Просьба покритиковать логотип