Главная страница
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.026 c
3-3740
Patrick
2003-09-15 09:35
2003.10.02
Переменная DateTime в запросах SQL.


1-3832
Sunny
2003-09-19 13:56
2003.10.02
COM + потоки


6-4010
DeHuC
2003-07-29 08:36
2003.10.02
InternetAutoDial


14-4089
clickmaker
2003-09-12 13:51
2003.10.02
Если день программера - 256ой, то какой же день сисадмина?


3-3722
yaric
2003-09-12 18:33
2003.10.02
Проверка конекта к серверу