Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-1081523027
Kolyan
2004-04-09 19:03
2004.05.02
Нелегкий выбор


14-1081545637
vertal
2004-04-10 01:20
2004.05.02
Property


14-1081422070
Ivolg
2004-04-08 15:01
2004.05.02
С++


8-1074764725
Yasik
2004-01-22 12:45
2004.05.02
Конвертация


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский