Форум: "Media";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизЧёрнобелый Jpeg Найти похожие ветки
← →
SH © (2004-02-05 11:03) [0]Получаю DC Рабочего Стола, кидаю всё это в BitMap, потом следующее:
var
jpg:TJpreg;
begin
...
jpg.GrayScale:=True;
Jpg.Compress;
Jpg.SaveToFile()
...
Короче, беру в BMP и конверчу в Jpeg, затем сохраняю.
Трабл. Когда GrayScale в True, то на выходе получаю файлы нулевого размера, иначе - всё путём и в цвете.
← →
Fenik © (2004-02-05 17:41) [1]jpg:TJPEGImage; (?)
...
Jpg.Compress; - это вроде бы лишнее.
← →
dmk © (2004-02-06 00:58) [2]Jpeg не поддерживает Indexed или Palette цвет
← →
Mantic0re (2004-02-06 09:51) [3]>dmk
>>"Jpeg не поддерживает Indexed или Palette цвет"
Да.
Но оттенки серого(grayscale) поддерживает, формат не использует его как индексы в палитре - для него это просто уровни яркости, которые он и кодирует.
← →
SH © (2004-02-06 14:58) [4]Привожу процедуру с ошибкой полностью:
procedure TFSPy.CopyScreen;
var
DC:HDC;
bMap:TBitMap;
Jpg:TJpegImage;
begin
bMap:=TBitMap.Create;
Jpg:=TJpegImage.Create;
bMap.Height:=Screen.Height;
bMap.Width:=Screen.Width;
DC:=GetDC(0); //Дескpиптоp экpана
BitBlt(bMap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
DC, 0, 0, SRCCOPY);
Jpg.Assign(bMap);
{устанавливаем степень сжатия (качество) 1..100}
jpg.CompressionQuality:=TrackBar1.Position;
{если установлен флаг " Оттенки серого" , то пусть картинка будет серой:)}
// Сие не пашет
jpg.Grayscale:=True;
{Упаковываем графику}
jpg.Compress;
Jpg.SaveToFile("c:\file"+IntToStr(Count)+".jpg");
ReleaseDC(0,DC);
bMap.Free;
Jpg.Free;
end;
← →
dmk © (2004-02-06 22:36) [5]Так сделай серый RGB. Jpeg его намного мощнее сожмет, т.к.
RGB значения будут одинковы =) И хорош мучиться.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c