Показать сообщение отдельно
  #1  
Старый 16.08.2011, 21:05
Pcrepair
 
Сообщения: n/a
По умолчанию Конвертер BMP 32 bit BGRA в BMP 8 bit c Palette

Добрый день!
есть следующий вариант преобразования
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+'s.bmp');
  Image1.Picture.Bitmap.PixelFormat:= pf8bit;
  Form1.Image1.Picture.Bitmap.SaveToFile(ExtractFilePath(Application.ExeName)+'\'+'s1.bmp');
end;
Все работает, но есть вопросы
1. точно Image1.Picture.Bitmap.PixelFormat:= pf8bit; преобразует BGRA в Palette, или там какой-то фокус
2. как проверить наличие палитры в S1? может есть у кого код процедуры, вытаскивающий политру из файла? или программа какая это может сделать? чтоб точно знать что палитра ЕСТЬ
3. нет ли у кого альтернативного кода? стандартные решения, как утверждают некоторые, однобоки. если можно, приведите тут пример
Заранее спасибо
Ответить с цитированием