Главная страница
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.033 c
6-1130807592
paule
2005-11-01 04:13
2006.02.12
Получение данных с веб -сервера.


9-1125150885
bogdan
2005-08-27 17:54
2006.02.12
Подчсет количества многоугольников


11-1110491297
Nix
2005-03-11 00:48
2006.02.12
Hints


15-1138116629
Shastox
2006-01-24 18:30
2006.02.12
Вопрос про проблему с текстом.


3-1134722249
Elena_
2005-12-16 11:37
2006.02.12
Как узнать , установлена ли IntrerBase или FireBird на машину