Форум: "Начинающим";
Текущий архив: 2011.12.04;
Скачать: [xml.tar.bz2];
ВнизКонвертер BMP 32 bit BGRA в BMP 8 bit c Palette Найти похожие ветки
← →
Pcrepair © (2011-08-16 21:00) [0]Добрый день!
есть следующий вариант преобразования
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. нет ли у кого альтернативного кода? стандартные решения, как утверждают некоторые, однобоки. если можно, приведите тут пример
Заранее спасибо
← →
Игорь Шевченко © (2011-08-16 21:59) [1]
> есть вопросы
а почитать
procedure TBitmap.SetPixelFormat(Value: TPixelFormat);
не судьба ?
← →
antonn © (2011-08-16 22:56) [2]
> 3. нет ли у кого альтернативного кода? стандартные решения,
> как утверждают некоторые, однобоки. если можно, приведите
> тут пример
> Заранее спасибо
речь о дизеринге? тогда посмотреть fastlib, модуль FastQuant.pas
← →
Sapersky (2011-08-17 15:04) [3]как проверить наличие палитры в S1? может есть у кого код процедуры, вытаскивающий политру из файла? или программа какая это может сделать?
Любой графический вьюер (кроме стандартного? тыщу лет им не пользовался) показывает информацию о картинке в виде ширина*высота*глубина цвета. Если глубина цвета = 8, или иногда пишут 256 цветов - это палитровая картинка. В Irfanview можно и саму палитру посмотреть.
нет ли у кого альтернативного кода
http://www.efg2.com/Lab/Graphics/Colors/ShowDemoOne.htm
← →
Pcrepair © (2011-08-17 15:21) [4]похоже TPixelFormat - стандартная процедура конвертации
так и запишем
тем не менее, никто не работал с fastlib?
может оно чем то лучше, типа быстрее конвертирует?
← →
Sapersky (2011-08-17 16:19) [5]Дизеринг (dithering) есть, как уже писали.
http://en.wikipedia.org/wiki/Dither
Но цвета в реализации FastQuant могут несколько искажаться, белый становится сероватым, например.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.12.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c