Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
6-4035
volser
2003-08-05 01:09
2003.10.02
Как отследить подключение и разрыв связи к интернету


14-4114
-=[SDA]=-
2003-09-12 07:07
2003.10.02
!!! Как вырубить звуковуху !


1-3988
LordBTR
2003-09-19 16:47
2003.10.02
Многоязыковая поддержка


1-3895
Vogus
2003-09-18 10:57
2003.10.02
Помогите написать наследника класса


1-3865
Тих
2003-09-19 00:06
2003.10.02
Самодельные диаграммы




   Наверх