![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GDI [D6, WinXP]
chi © (2003-12-02 13:15:00)Уважаемые мастераподскажите пожалуйста где достать информацию по GDI на уровне WIN32 ( в частности по работе с DC и HBitmap), хочу разобраться. Заранее благодарен.
chi (2003-12-06 13:20:00) [1]
> miek © (06.12.03 12:43) [5]
все поверхностно там
miek (2003-12-06 12:43:00) [2]Как насчет MSDN Library
chi (2003-12-06 01:22:00) [3]Всем спасибо, Фень Юань, действительно хорошая книга, но в библиотеке нашей радиоакадемии ее нет, а магазине ее цена 340 р...непосильно для студента. Где можно достать исходники из этой книги, особенно 10 главы.Спасибо
dmk (2003-12-02 19:46:00) [4]Купи Фень Юаня "Программирование графики под Windows".
С доставкой всего 210 р.
http://shop.piter.com
Mihey (2003-12-02 19:28:00) [5]2 chi:
Всё ещё мучаешься с HBITMAP? Может это поможет:
{организует битмэп размером SX,SY;true_color}
procedure TMBitmap.Allocate(SX,SY:integer);
var DC:HDC;
begin
if BM<>0 then DeleteObject(BM); {удаляем старый битмэп, если был}
BM:=0; PB:=nil;
fillchar(BI,sizeof(BI),0);
with BI.bmiHeader do {заполняем структуру с параметрами битмэпа}
begin
biSize:=sizeof(BI.bmiHeader);
biWidth:=SX; biHeight:=SY;
biPlanes:=1; biBitCount:=24;
biCompression:=BI_RGB;
biSizeImage:=0;
biXPelsPerMeter:=0; biYPelsPerMeter:=0;
biClrUsed:=0; biClrImportant:=0;
FLineSize:=(biWidth+1)*3 and (-1 shl 2); {размер строки(кратна 4 байтам)}
if (biWidth or biHeight)<>0 then
begin
DC:=CreateDC('DISPLAY',nil,nil,nil);
{замечательная функция (см.HELP), возвращает HBITMAP, позволяет сразу
разместить выделяемый битмэп в спроецированном файле, что позволяет
ускорять работу и экономить память при генерировании большого битмэпа}
{!} BM:=CreateDIBSection(DC,BI, DIB_RGB_COLORS, pointer(PB), nil, 0);
DeleteDC(DC); {в PB получаем указатель на битмэп-----^^}
if BM=0 then Error('error creating DIB');
end;
end;
end;
me (2003-12-02 18:45:00) [6]В любой классической книге по программированию под Windows (даже под WIN16, там мало что поменялось идеологически), например, у Пецольда (давно переведена на русский и часто упоминается в сети)