Вниз
Скачать: 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.022 c
4-1078427268
reel_geek
2004-03-04 22:07
2004.05.02
Событие мыши вне окна вообще...


1-1081943575
Алексей2
2004-04-14 15:52
2004.05.02
Как "превратить" строку в имя переменной?:


14-1081239691
unicode
2004-04-06 12:21
2004.05.02
Дата и время в дельфи


3-1081422919
ORMADA
2004-04-08 15:15
2004.05.02
ADO список провайдеров


3-1081240643
SerKom
2004-04-06 12:37
2004.05.02
Как документировать список всех таблиц и полей (в т.ч. описаний)




   Наверх