![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование массива в 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; ?