![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из массива байтов сделать битмап? [D5, Win95/98]
slym © (2002-02-12 17:23:00)Как из массива байтов сделать битмап?
Есть функция: SetBiDiBits, но что не делаю получаю Малевича "Черный квадрат"...
господа Визарды, жду ответа, желательно исходником
MBo (2002-02-14 14:00:00) [1]вот рабочий пример, в нем используется устаревшая функция
SetBitmapBits, вместо нее рекомендуется SetDiBits
procedure TForm1.Button1Click(Sender: TObject);
var a:array[0..255,0..255] of byte;
ct:array[0..255] of TRGBQuad;
b:tbitmap;
i,j:integer;
begin
b:=tbitmap.create;
b.pixelformat:=pf8bit;
b.Width := 256;
b.Height := 256;
for i:=0 to 255 do begin
ct[i].rgbRed:=i;
ct[i].rgbBlue:=i;
ct[i].rgbGreen:=i;
ct[i].rgbReserved:=0;
end;
for i:=0 to 255 do for j:=0 to 255 do a[i,j]:=trunc(sqrt(i*j));
SetDIBColorTable(b.canvas.Handle,0,$100,ct);
SetBitmapBits(b.Handle, sizeof(a),@a);
Image1.picture.assign(b);
b.free;
end;
slym (2002-02-14 13:28:00) [2]Увы последние мои эксперименты погубили исходник, но ключевой момент я помню...
прошу прощение за очепятку - SetDiBits(). (device independed.)
SetBitmapBits или SetDiBits - всеравно, только бы рисовало...
Делается распределенная версия фракталов, результат итерраций массив байтов, из него делаю картинку.
Evgeny (2002-02-13 07:06:00) [3]Скорее всего SetDiBits().
VuDZ (2002-02-12 22:08:00) [4]может SetBitmapBits()?
Oxy2 (2002-02-12 21:56:00) [5]А что это за функция такая SetBiDiBits? Я ее в MSDN не нашел.
copyr25 (2002-02-12 19:58:00) [6]И ещё, попробуй запустить бинарный код любого bitmap"a через свою программу
Cobalt (2002-02-12 17:31:00) [7]Покажи сначала свой код