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;
Конвертер BMP 32 bit BGRA в BMP 8 bit c Palette
есть следующий вариант преобразования
Код:
Все работает, но есть вопросы
1. точно Image1.Picture.Bitmap.PixelFormat:= pf8bit; преобразует BGRA в Palette, или там какой-то фокус
2. как проверить наличие палитры в S1? может есть у кого код процедуры, вытаскивающий политру из файла? или программа какая это может сделать? чтоб точно знать что палитра ЕСТЬ
3. нет ли у кого альтернативного кода? стандартные решения, как утверждают некоторые, однобоки. если можно, приведите тут пример
Заранее спасибо
Use PixelFormat to change a TBitmap's internal image to a particular memory format and color depth, or to find out what memory format and color depth a TBitmap is using.[/QUOTE]
inquote
похоже TPixelFormat - стандартная процедура конвертации
так и запишем
тем не менее, никто не работал с fastlib?
может оно чем то лучше, типа быстрее конвертирует?
Цитата: Pcrepair
может есть у кого код процедуры, вытаскивающий политру из файла?
TBitmap.LoadFromStream, не?