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

Вниз

Как создать DIB?   Найти похожие ветки 

 
Unknown user ©   (2003-07-30 18:49) [0]

То есть битмап с заданными шириной, высотой и остальными параметрами по умолчанию, аналогично тому как это используется в классе TBitmap.


 
Игорь Шевченко ©   (2003-07-30 19:02) [1]

Наверное, также, как это сделано в классе TBitmap - исходники вроде доступны


 
iXuSs   (2003-07-30 21:45) [2]

Могу посоветовать такой код:

procedure DIBCreate(var ScrBitmap: TBitMap; W, H: Integer; Canvas: TCanvas);
var
BInfo: tagBITMAPINFO;
SX, SY: Integer;
Scr: Pointer;
begin
SX := W;
SY := H;
With BInfo.bmiHeader do
begin
biSize := SizeOf(tagBITMAPINFOHEADER);
biWidth := SX;
biHeight := -SY;
biPlanes := 1;
biBitCount := 32;
biCompression := BI_RGB;
end;
ScrBitmap := TBitmap.Create;
ScrBitmap.Handle := CreateDIBSection(Canvas.Handle, BInfo, DIB_RGB_COLORS,
( Scr, SX * SY * 4)
Могу посоветовать такой код:

procedure DIBCreate(var ScrBitmap: TBitMap; W, H: Integer; Canvas: TCanvas);
var
BInfo: tagBITMAPINFO;
SX, SY: Integer;
Scr: Pointer;
begin
SX := W;
SY := H;
With BInfo.bmiHeader do
begin
biSize := SizeOf(tagBITMAPINFOHEADER);
biWidth := SX;
biHeight := -SY;
biPlanes := 1;
biBitCount := 32;
biCompression := BI_RGB;
end;
ScrBitmap := TBitmap.Create;
ScrBitmap.Handle := CreateDIBSection(Canvas.Handle, BInfo, DIB_RGB_COLORS,
Scr, 0, 0);
ZeroMemory(Scr, SX * SY * 4);
end;

procedure DIBDelete(var ScrBitmap: TBitMap);
begin
ScrBitmap.FreeImage;
ScrBitmap.Destroy;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-3931
Russko
2003-09-21 11:50
2003.10.02
Выделение из строки подстроки с числовым форматом


4-4169
Nicky
2003-07-30 18:25
2003.10.02
как сделать, чтоб showmessage не прятался под другими окнами


3-3727
Mobal
2003-09-12 15:35
2003.10.02
Как из Delphi подключиться к Access под другим пользователем


3-3804
Paul Tremasov
2003-09-10 18:42
2003.10.02
Ovelapped I/O operation


7-4150
Vyacheslav
2003-07-14 14:51
2003.10.02
Виртуальный диск