Вниз
Скачать: CL | DM;

Чёрнобелый 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
14-1081399857
Delphi5.01
2004-04-08 08:50
2004.05.02
Specialisti angliskogo pomogite (tolko profi)


14-1081629321
gn
2004-04-11 00:35
2004.05.02
ПАРНИ ИСУС ВОСКРЕС!!!!!!!!!!


14-1081839758
Ik
2004-04-13 11:02
2004.05.02
Проблема с Wingate


1-1081853193
Soldat
2004-04-13 14:46
2004.05.02
Сокрытие события


1-1082036755
highlander
2004-04-15 17:45
2004.05.02
Печать на матричном принтере.




   Наверх