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

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

Преобразование массива в bitmap


DL ©   (2004-10-09 19:12:00) 

Есть массив данных, предположим
  BitsArray: array [1..1280,1..1280] of TColor;
Необходимо преобразовать его в bitmap, для дальнейшего вывода на экран.
Пробывал использовать функцию
  SetBitmapBits(Bitmap.Handle, SizeOf(BitsArray), @BitsArray);
при отрисовке происходит искажение цветов.


programania   (2004-10-10 00:51:00) [1]

Bitmap.PixelFormat := pf32Bit; //ведь tColor 4 byte
for y:=0 to 1280-1 do
move(BitsArray[y+1,1],Bitmap.ScanLine[y]^,1280*4);


DL   (2004-10-09 20:57:00) [2]

к сожалению не помогло.
 BitsArray[I,J].rgbtRed:=0;
 BitsArray[I,J].rgbtGreen:=0;
 BitsArray[I,J]:=255;
и
 BitsArray[I,J].rgbtRed:=255;
 BitsArray[I,J].rgbtGreen:=0;
 BitsArray[I,J].rgbtBlue:=0;
выводит один и тотже цвет


Fenik   (2004-10-09 19:36:00) [3]

А, понятно. Внутреннее представление растра не соответствует типу TColor;

Попробуй
BitsArray: array [1..1280,1..1280] of TRGBTriple;


Fenik   (2004-10-09 19:34:00) [4]

Bitmap.PixelFormat := pf24Bit; ?


Наверх

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