Problem z bitmapa

0

Witam wszystkich!

Mam nastepujacy problem:
mam tablice np rgb[800];. W tej oto tablicy sa nastepnie zapisywane wartosci pikseli, sa to dane juz gotowe do wyswietlenia, poddane odpowiedniemu formatowaniu, jednak nie zawieraja naglowka bitmapy.
Chce teraz ten naglowek dodac i zapisac to wszystko na dysk.

Robie tak:

Graphics::TBitmap *bmp = new Graphics::TBitmap();
bmp->Width = 352;
bmp->Height = 288;
bmp->PixelFormat = pf24bit;

i dalej nie mam pojecia w jaki sposob dane z tablicy rgb[800]dodac do tej tbitmapy. Oczywiscie odpadaja petle po Width i Height, bo w ten sposob moj program sie nieszczesnie spowalinia. Czy da sie to zrobic w jakis inny sposob?
Czy istnieje jakikolwiek sposob?

Dzieki z gory za odpowiedz!
Pozdrawiam!
przemo

0

przeciez masz gotowa metode ktora laduje Tobie bitmape z pliku:

Graphics::TBitmap *bmp = new Graphics::TBitmap();
bmp->LoadFromFile("bitmapa.bmp");
0

Niestety zle mnie zrozumiales. Przerabiam przestrzen kolorow YUV (z plikow wideo *.cif) na przestrzen RGB.
Tak wiec mam gotowe piksele, jednak nie chce tworzyc samodzielnie naglowka, bo to przeciez tylko 54 bajty i wystarczyloby stworzyc tablice z tym naglowkiem. Chce natomiast zeby program mi to wykonywal samodzielnie, o wiele szybciej i prosciej.

0

przetwarzanie grafiki w delphi i bcb jest bardzo wolne przy ustawianiu kolejnych pikseli
miałem kiedys ten sam problem rozwiązaniem jest korzystanie z funkcji Scanline
znajdziesz jej opis gdzieś w necie juz nie pamietam jak sie zniej korzysta

0

Zainteresuj się funkcją WinAPI CreateDIBSection - o ile dobrze pamiętam tworzy bitmapę z bezpośrednim dostępem do pixeli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1