Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 22:19   #1
egorzenit
Пользователь
 
Регистрация: 05.07.2011
Сообщений: 60
Сообщение Как сделать скриншот в формате jpeg

всем привет.
подскажите как сделать скриншот в delphi? в формате jpeg.
и второй вопрос как сделать в программе горячую клавишу?

Было название - "Скриншот"

Последний раз редактировалось mihali4; 24.11.2011 в 23:13.
egorzenit вне форума Ответить с цитированием
Старый 21.11.2011, 22:20   #2
egorzenit
Пользователь
 
Регистрация: 05.07.2011
Сообщений: 60
По умолчанию

горячая клавиша для скриншота.
egorzenit вне форума Ответить с цитированием
Старый 22.11.2011, 08:02   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
Procedure PScreen;
const
  CAPTUREBLT = $40000000;
var  ScreenBM:TBitMap;
      SendJPG:TJPEGImage;
begin
 ScreenBM:=TBitMap.Create;
 SendJPG:=TJPEGImage.Create;
 ScreenBM.Width:=Screen.Width;
 ScreenBM.Height:=Screen.Height;
 BitBlt(ScreenBM.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
 GetDC(0), 0, 0, SRCCopy or CAPTUREBLT);
 SendJPG.Assign(ScreenBM);
  SendJPG.SaveToFile('d:\MyJPG.jpg');
 SendJPG.Free;
 ScreenBM.Free;
end;
SERG1980 вне форума Ответить с цитированием
Старый 23.11.2011, 04:22   #4
egorzenit
Пользователь
 
Регистрация: 05.07.2011
Сообщений: 60
По умолчанию

а как насчет клавиши?
egorzenit вне форума Ответить с цитированием
Старый 23.11.2011, 09:39   #5
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

registerhotkey
Хамяг вне форума Ответить с цитированием
Старый 24.01.2012, 12:29   #6
Marinesku
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 13
По умолчанию можно глупый ответ?

Произвести эмуляцию кнопки PrintScreen, после чего открыть на автомате Paint, произвести эмуляцию кнопок Ctrl+V (вставить). Ведь именно так вы делаете скриншоты вручную. И далее эмуляциями кнопок сохранить.

Как делать эмуляцию кнопок, можно подробно почитать здесь:

http://www.delphi-vsem.ru/012.html
Marinesku вне форума Ответить с цитированием
Старый 29.01.2012, 13:09   #7
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

мужики дарово, делаю скриншот так

Код:
uses jpeg;
var
DC : HDC;
bmp : TBitmap;
jpgImg: TJPEGImage;
begin
bmp := TBitmap.Create;
jpgImg := 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);
ReleaseDC(0, DC);
jpgImg.Assign(bmp);
jpgImg.CompressionQuality:=100;
jpgImg.SaveToFile('Screenshot.jpg');
jpgImg.Free;
bmp.Free;
end;
подскажите как, сохранить его в рандомном имени, чтоб имя всегда было разное!? спасибо
hacknet вне форума Ответить с цитированием
Старый 29.01.2012, 13:45   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чтоб имя всегда было разное!?
Рандом тут не помошник
Код:
jpgImg.SaveToFile(FormatDateTime('yyyymmhhnnsszz',now)'Screenshot.jpg');
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2012, 13:52   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Рандом тут не помошник
не, ну почему же, помощник, но это не самый лучший вариант.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.01.2012, 14:22   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Есть еще GetTempFileName, можно воспользоваться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение картинки в C++ в формате jpeg, используя "путь" записанный в базе данных типа Access Gared Помощь студентам 0 15.05.2011 17:29
Как сделать скриншот определенной части экрана? JonMagon Помощь студентам 11 13.05.2011 09:45
Не получается сделать скриншот C# Ski1alec C# (си шарп) 5 24.01.2011 22:56
как обрезать изоображение в формате jpeg KWN, lnc Мультимедиа в Delphi 5 08.03.2010 13:52
как сделать скриншот xakkkkker Общие вопросы Delphi 1 10.02.2008 15:24