Форум: "Основная";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизПроблема с выводом графика Найти похожие ветки
← →
-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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c