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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2007, 13:13   #1
Briz
Пользователь
 
Аватар для Briz
 
Регистрация: 07.10.2007
Сообщений: 37
По умолчанию как сделать снимок экрана?

На моей форме расположен PaintBox, button1 и button2. Как сделать чтоб при нажатии Button1 делался снимок экрана и показывал на painbox, а при нажатии button2 сохранялось в jpeg?
Хочу все знать!

Последний раз редактировалось Briz; 03.11.2007 в 13:25.
Briz вне форума Ответить с цитированием
Старый 03.11.2007, 13:20   #2
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

Цитата:
Сообщение от Briz Посмотреть сообщение
. Как сделать чтоб при нажатии Button1 делался снимок на весь экран
снимок чего?
I like WPF
kommunist вне форума Ответить с цитированием
Старый 03.11.2007, 13:25   #3
Briz
Пользователь
 
Аватар для Briz
 
Регистрация: 07.10.2007
Сообщений: 37
По умолчанию

снимок экрана
Хочу все знать!
Briz вне форума Ответить с цитированием
Старый 03.11.2007, 13:36   #4
Omedus
Пользователь
 
Аватар для Omedus
 
Регистрация: 01.11.2007
Сообщений: 27
Сообщение

Код:
procedure TForm1.Button1Click(Sender: TObject);
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:/Screen.jpg'); //Здесь можешь изменить путь, куда нужно сохранить файл. Так же в этой строчке изменяется название файла.
ReleaseDC(0, DC);
bmp.Free;
end;
В результате нажатия на Button1, в корневом каталоге c: будет создан файл - скриншот экрана с именем Screen.jpg
А вот дальше додумывай сам
Генерация случайных чисел — слишком важное дело, чтобы оставлять её на волю случая.
Scientia potentia est

Последний раз редактировалось Omedus; 03.11.2007 в 13:42.
Omedus вне форума Ответить с цитированием
Старый 03.11.2007, 13:41   #5
Briz
Пользователь
 
Аватар для Briz
 
Регистрация: 07.10.2007
Сообщений: 37
По умолчанию

"bmp" что это такое? он ошибку выдает на первой строчке
Хочу все знать!
Briz вне форума Ответить с цитированием
Старый 03.11.2007, 13:43   #6
Omedus
Пользователь
 
Аватар для Omedus
 
Регистрация: 01.11.2007
Сообщений: 27
Радость

Цитата:
Сообщение от Briz Посмотреть сообщение
"bmp" что это такое?
bmp - одно из расширений файла-изображения. Извини, я проглядел, что тебе не bmp, а jpg нужен) Уже поправил
Генерация случайных чисел — слишком важное дело, чтобы оставлять её на волю случая.
Scientia potentia est
Omedus вне форума Ответить с цитированием
Старый 03.11.2007, 13:44   #7
Briz
Пользователь
 
Аватар для Briz
 
Регистрация: 07.10.2007
Сообщений: 37
По умолчанию

bmp:=TBitmap.Create; он сдесь выдает ошибку
Хочу все знать!
Briz вне форума Ответить с цитированием
Старый 03.11.2007, 13:49   #8
Omedus
Пользователь
 
Аватар для Omedus
 
Регистрация: 01.11.2007
Сообщений: 27
По умолчанию

Сделай переменные:
Код:
Var
...
DC: HDC;
bmp: TBitmap;
Генерация случайных чисел — слишком важное дело, чтобы оставлять её на волю случая.
Scientia potentia est

Последний раз редактировалось Omedus; 03.11.2007 в 13:56.
Omedus вне форума Ответить с цитированием
Старый 03.11.2007, 13:56   #9
Briz
Пользователь
 
Аватар для Briz
 
Регистрация: 07.10.2007
Сообщений: 37
По умолчанию

DC:=GetDC(0); теперь сдесь ошибка
Хочу все знать!
Briz вне форума Ответить с цитированием
Старый 03.11.2007, 13:58   #10
Omedus
Пользователь
 
Аватар для Omedus
 
Регистрация: 01.11.2007
Сообщений: 27
Сообщение

Прости, я забыл, что там нужны две переменные. Пост поправил.
Цитата:
Сообщение от Omedus Посмотреть сообщение
Сделай переменные:
Код:
Var
...
DC: HDC;
bmp: TBitmap;
Генерация случайных чисел — слишком важное дело, чтобы оставлять её на волю случая.
Scientia potentia est
Omedus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрешение экрана Михаил Юрьевич Общие вопросы Delphi 3 11.07.2008 21:33
Разрешение экрана -=<[Evklidd]>=- Общие вопросы Delphi 1 20.02.2008 10:55
как сделать так что при изменении разрешения экрана программа работала... Victor[famas] Общие вопросы Delphi 7 13.02.2008 12:48
Как сделать снимок экрана в графическом режиме? Борис2 Паскаль, Turbo Pascal, PascalABC.NET 9 08.12.2007 21:07
Снимок экрана Viteef Общие вопросы Delphi 9 16.05.2007 20:12