Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Конвертер BMP 32 bit BGRA в BMP 8 bit c Palette

36K
16 августа 2011 года
Pcrepair
64 / / 16.01.2011
Добрый день!
есть следующий вариант преобразования
 
Код:
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. нет ли у кого альтернативного кода? стандартные решения, как утверждают некоторые, однобоки. если можно, приведите тут пример
Заранее спасибо
14
16 августа 2011 года
Phodopus
3.3K / / 19.06.2008
[QUOTE=Help]Description

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
36K
17 августа 2011 года
Pcrepair
64 / / 16.01.2011
ну, ясно
похоже TPixelFormat - стандартная процедура конвертации
так и запишем

тем не менее, никто не работал с fastlib?
может оно чем то лучше, типа быстрее конвертирует?
10
17 августа 2011 года
Freeman
3.2K / / 06.03.2004
Цитата: Pcrepair
может есть у кого код процедуры, вытаскивающий политру из файла?


TBitmap.LoadFromStream, не?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог