Vadim писал(а):Правда 1 - это будет жесть. 
Для распознавания образов после бинаризации самое-то! ( Объем данных сокращается и все жужжит заметно веселее  )


Зы
BitmapTest вполне рабочая приблуда ( правда гоняю ее в основном между 24 и 32 битами и обратно ) 
Ее  секрет в том что нужно создать новое изображение нужной битности и уже после этого рисовать через Draw.  

Зы
Но если задумал делать "вручную " глянь сюда ..
https://sourceforge.net/projects/tfastdib/( библиотека FastDIB модуль FConvert - там  есть все что угодно ...
Конверсия TBitmap -> TFastDIB; (Встроенная для ВинАпи и работает криво  )
- Код: Выделить всё
- Var
 FBmp,TFB:TFastDIB;
 B:TBitmap;
 FBmp_SD:Pointer;
 ...
 Begin
 FBmp:=TFastDIB.Create;
 FBmp.SetSize(B.Width,B.Height,24);
 FBmp_SD:=FBmp.Bits;
 BitmapTest(b,pf24bit);
 with b.RawImage do //FBmp.Bits:=Pointer(Data);
 Move(Data^,FBmp.Bits^,DataSize);
 end;
 
Обратно  FBmp -> b
- Код: Выделить всё
- b.BeginUpdate;
 with b.RawImage do Move(FBmp.Bits^,Data^,DataSize);
 b.EndUpdate;
 FBmp.Bits:=FBmp_SD;
 
)