Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.13;
Скачать: CL | DM;

Вниз

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

 
Тима   (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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
15-1247439968
Bruth
2009-07-13 03:06
2009.09.13
Исходник резалки баннеров


1-1215107303
Zheksik
2008-07-03 21:48
2009.09.13
Как провести линию на компоненте фигура(Shape)?


1-1215078860
DrPass
2008-07-03 13:54
2009.09.13
Секция finalization не выполняется


15-1247455425
vajo
2009-07-13 07:23
2009.09.13
Что может означать длинный писк материнки?


1-1215011817
Дмитрий Белькевич
2008-07-02 19:16
2009.09.13
Глюк с формой fsStayOnTop.