Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизКак из массива байтов сделать битмап? Найти похожие ветки
← →
slym (2002-02-12 17:23) [0]Как из массива байтов сделать битмап?
Есть функция: SetBiDiBits, но что не делаю получаю Малевича "Черный квадрат"...
господа Визарды, жду ответа, желательно исходником
← →
Cobalt (2002-02-12 17:31) [1]Покажи сначала свой код
← →
copyr25 (2002-02-12 19:58) [2]И ещё, попробуй запустить бинарный код любого bitmap"a через свою программу
← →
Oxy2 (2002-02-12 21:56) [3]А что это за функция такая SetBiDiBits? Я ее в MSDN не нашел.
← →
VuDZ (2002-02-12 22:08) [4]может SetBitmapBits()?
← →
Evgeny (2002-02-13 07:06) [5]Скорее всего SetDiBits().
← →
slym (2002-02-14 13:28) [6]Увы последние мои эксперименты погубили исходник, но ключевой момент я помню...
прошу прощение за очепятку - SetDiBits(). (device independed.)
SetBitmapBits или SetDiBits - всеравно, только бы рисовало...
Делается распределенная версия фракталов, результат итерраций массив байтов, из него делаю картинку.
← →
MBo (2002-02-14 14:00) [7]вот рабочий пример, в нем используется устаревшая функция
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;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c