Форум: "WinAPI";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизКак создать 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c