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

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

Преобразовать массив пикселей в BitMap? [D7, XP]


andreil ©   (2008-04-05 12:24:00) 

Есть у меня два массива (сами пиксели + палитра) и размер картинки. Как это все можно преобразовать в BMP-файл?


andreil   (2008-04-06 12:54:00) [1]

Сделал так:
Bitmap:=NewDIBBitmap(Self.lpLumpInfo[Handle].uiWidth, Self.lpLumpInfo[Handle].uiHeight, pf8bit);
 BitMap.HandleType:=bmDIB;
 for n:=0 to Self.lpLumpInfo[Handle].uiWidth-1 do
   for i:=0 to Self.lpLumpInfo[Handle].uiHeight-1 do
   begin
     //BitMap.Pixels[i,n]:=lpPalette[lpPixels[n+i*Self.lpLumpInfo[Handle].uiWidth]];
     BitMap.DIBPixels[i,n]:=lpPixels[(n*Self.lpLumpInfo[Handle].uiHeight)+
      (Self.lpLumpInfo[Handle].uiWidth)];
   end;
 for i:=0 to uiPaletteSize-1 do
   BitMap.DIBPalEntries[i]:=lpPalette[i];
 BitMap.SaveToFile('1.bmp');

На выходе - пустой БМП с частично заполненной палитрой, но без пикселей :(


Denis__   (2008-04-05 20:42:00) [2]


>  циклом по этому циклу

по массиву.:)


Amoeba   (2008-04-05 20:33:00) [3]


> Есть у меня два массива (сами пиксели + палитра) и размер
> картинки.

И откуда они хоть взялись?


Denis__   (2008-04-05 19:28:00) [4]

Cамо просто - циклом по этому циклу. А чего там с битмапом понимать?
var
  bmp : TBitmap;
begin
  bmp := TBitmap.Create;
  ...
  bmp.SaveToFile(...);
  bmp.Free;
end;


{RASkov}   (2008-04-05 13:35:00) [5]

> [2] andreil ©   (05.04.08 13:29)
> А поточнее нельзя?

Поточнее сам давай, ибо что непонятного в TBitMap?


andreil   (2008-04-05 13:29:00) [6]

А поточнее нельзя? Ибо я сам с БитМапами не имел ранее дела :(


Johnmen   (2008-04-05 12:30:00) [7]

см. TBitmap, он тебе подойдет.


Наверх

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