Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как из массива байтов сделать битмап? [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]

Покажи сначала свой код


Наверх

Титульная страница Поиск, карта сайта Написать письмо