Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 304
от 24.11.2005, 14:12

Администратор:Калашников О.А.
В рассылке:Подписчиков: 245, Экспертов: 48
В номере:Вопросов: 1, Ответов: 5


Вопрос № 29786: Здравствуйте уважаемые эксперты. Подскажите пожалуйста как картинку (если точно скрин) из буфера сохранить в файл....

Вопрос № 29.786
Здравствуйте уважаемые эксперты. Подскажите пожалуйста как картинку (если точно скрин) из буфера сохранить в файл.
Отправлен: 18.11.2005, 20:07
Вопрос задал: Tarantul (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss
Здравствуйте, Tarantul!
см. пример в приложении...

Приложение:

Ответ отправил: Denisss (статус: Практикант)
Отправлен: 18.11.2005, 22:15

Отвечает: REFERI
Здравствуйте, Tarantul!
Наверное хотите сделать прогу чтобы снимала скриншоты и сохраняла автоматически! Что ж поможем чем сможем!

Вот сама процедура снимка.

procedure ScreenShot(Bild: TBitMap);
var
c: TCanvas;
r: TRect;
begin
c := TCanvas.Create;
c.Handle := GetWindowDC(GetDesktopWindow);
try
r := Rect(0, 0, Screen.Width, Screen.Height);
Bild.Width := Screen.Width;
Bild.Height := Screen.Height;
Bild.Canvas.CopyRect(r, c, r);
finally
ReleaseDC(0, c.Handle);
c.Free;
end;
end;

А вот пример использования

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible := False;
Sleep(750); // some delay, ein wenig Zeit geben
ScreenShot(Image1.Picture.Bitmap);
Form1.Visible := True;
Image1.Picture.SaveToFile('C:Temp.bmp');
end;

Удачи в кодинге!


---------
Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: 3-ий класс)
Отправлен: 18.11.2005, 23:13

Отвечает: Denis Hakimov
Здравствуйте, Tarantul!
Используйте процедуру:

procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle; APalette: HPALETTE);

которая загружает изображение в TBitmap в соответствии с выбранным форматом.
Константы форматов начинаются с "CF_" (CF_BITMAP, CF_TIFF, и т.д.).
В приложении приведен код, который сначала загружает изображение в Image1, а затем сохраняет его в файл.
Удачи!

Приложение:

Ответ отправил: Denis Hakimov (статус: 5-ый класс)
Отправлен: 19.11.2005, 01:50

Отвечает: sir henry
Здравствуйте, Tarantul!
Насколько я помню, скины делаются как bmp. Тогда Вам нужно создать промежуточную переменную типа TBitmap, вставить в нее картинку из буфера обмена, а потом Bitmap записать на диск:
var
bp: TBitmap;
Begin
bp:=TBitmap.Create;
bp.Assign(Clipboard); {Копирование картинки из буфера в битмап}
bp.SaveToFile('Имя_файла.bmp'); {Запись битмапа в файл}
End;
Ответ отправил: sir henry (статус: Академик)
Отправлен: 19.11.2005, 05:58

Отвечает: Schmak
Здравствуйте, Tarantul!
uses Clipbrd;
procedure TForm1.FormCreate(Sender: TObject);
var
bmp:TBitmap;
begin
bmp:=TBitmap.Create;
bmp.Assign(Clipboard);
bmp.SaveToFile('c:Screen.bmp');
bmp.Free;
end;
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: 10-ый класс)
Отправлен: 19.11.2005, 09:58


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное