Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.09.13;
Скачать: [xml.tar.bz2];

Вниз

Требуется помощь в написании программы   Найти похожие ветки 

 
Тима   (2009-07-13 23:29) [0]

Я сделал программу которая делает скриншот рабочего стола и сохраняет на диск С. Проблема в том что сделанный скриншот весит около 5мб. Надо программно сжать. Как это сделать . Исходник:

begin

bmp:=TBitmap.Create;

bmp.Height:=Screen.Height;
bmp.Width:=Screen.Width;

DC:=GetDC(0); //

bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
DC, 0, 0, SRCCOPY);

bmp.SaveToFile("c:\111.jpg");

ReleaseDC(0, DC);
end;


 
clickmaker ©   (2009-07-13 23:35) [1]

TJpegImage


 
TIF ©   (2009-07-13 23:51) [2]

> TJpegImage

GIF тоже ничего :) Правда если требуется сохранить оригинальное качество, PNG вне конкуренции

PS: если важная экономия с точностью до кибобайт, JPG и PNG можно "сжать" (точнее удалить избыточную информацию) специальными утилитами. Если кому-то интересно - выложу подробности


 
TIF ©   (2009-07-13 23:54) [3]

> важная

важна

> до кибобайт

Не пил, а пишу что попало :)
Килобайт


 
Юрий Зотов ©   (2009-07-14 00:00) [4]


> Тима   (13.07.09 23:29)  


Bmp.Free не хватает.


 
palva ©   (2009-07-14 00:00) [5]


> GIF тоже ничего :)

Я надеясля, что TIF выскажется за TIFF


 
Игорь Шевченко ©   (2009-07-14 00:02) [6]


> скриншот весит около 5мб


"Компьютер не подчиняется законам физики.
Только в нём глюки возникают из ничего,
файлы исчезают в никуда, а объём измеряется
в метрах и называется весом."


 
Anatoly Podgoretsky ©   (2009-07-14 01:56) [7]

> palva  (14.07.2009 00:00:05)  [5]

Переименуем в GIFF


 
SPeller ©   (2009-07-14 04:38) [8]


> объём измеряется
> в метрах и называется весом

Не литрами же его измерять :)


 
brother ©   (2009-07-14 04:54) [9]

В uses добавляем JPEG
...

var
bmp: TBitmap;
DC: HDC;
Jpg: TJpegImage;
Begin
Try
bmp:= TBitmap.Create;
Jpg:= TJpegImage.Create;
bmp.Height:=Screen.Height;
bmp.Width:=Screen.Width;
DC:=GetDC(0);
bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
DC, 0, 0, SRCCOPY);
Jpg.Assign(Bmp);
Jpg.SaveToFile("c:test.jpg");
ReleaseDC(0, DC);
finally
Bmp.Free;
jpg.Free;
End;
End;


 
brother ©   (2009-07-14 04:56) [10]

> Jpg.SaveToFile("c:test.jpg");

те
Jpg.SaveToFile("c:\111.jpg");
;)


 
жж   (2009-07-14 07:50) [11]

Удалено модератором


 
БарЛог ©   (2009-07-14 10:44) [12]

Удалено модератором


 
Тима   (2009-07-14 12:42) [13]

brother спасибо!)


 
Petr V. Abramov ©   (2009-07-14 23:31) [14]


> делает скриншот рабочего стола и сохраняет на диск С.

сохраняй на диск D, там места больше :)


 
brother ©   (2009-07-15 04:17) [15]

> brother спасибо!)

вообще, это гуглится за пару минут...


 
Дмитрий С ©   (2009-07-15 06:29) [16]

Layered-окошки таким образом не скриншотяться :(


 
brother ©   (2009-07-15 07:36) [17]

> Layered-окошки таким образом не скриншотяться :(

Его проблемма - объем скриншота)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.09.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
15-1247725073
TUser
2009-07-16 10:17
2009.09.13
Уж не знаю, в каком мы веке живем,


15-1247839748
Хитрий Лис
2009-07-17 18:09
2009.09.13
Вопрос к младшему брату


15-1247262349
palva
2009-07-11 01:45
2009.09.13
Chrome отжигает


2-1247149247
Varkan
2009-07-09 18:20
2009.09.13
Поменять местами узлы в TreeView


6-1206613280
Stepper
2008-03-27 13:21
2009.09.13
IdHTTP - как в Get запросе обработать сразу два ЮРЛ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский