Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > сохранение области экрана


Автор: SultanOFF 10.12.2009, 18:40
Здравствуйте. Использую процедуру mapple`a 
Код

procedure SaveScreenFile(X,Y,Vysota,Hirina:integer;NameFile:String);
var
  bmp: TBitmap;
  DeskHw,DeskHdC : Longint;
begin
  bmp:=TBitmap.Create; // Создаем новый битмап в памяти
  DeskHw:=getdesktopwindow;
  DeskHdc:=getdc(deskHw);
  bmp.Height:=Vysota;
  bmp.Width:=Hirina;
  BitBlt(bmp.Canvas.Handle,0,0,Vysota,
Hirina,DeskHdc,X,Y,SRCCOPY); // Сохраняем в память указанную область экрана
  bmp.SaveToFile(NameFile); // Записываем файл
 end;
end.

но хотелось бы нечто большее, а конкретно чтобы например когда юзер нажимает волшебные горячие кнопки, появляется некое подобие виндовского выделения рабочего стола, и чтобы выделенную область можно было сохранить. Конечно понимаю что это довольно трудно, но подскажите пожалуйста хотя бы в каком направлении копать? :(

Автор: ~FoX~ 10.12.2009, 18:46
Делай полный скрин, потом покрывай стол чем нить прозрачным, на нем тяни что нить "резиновое", и обризай исходный скрин по координатам

Автор: SultanOFF 10.12.2009, 19:00
можно поподробнее про покрытие прозрачным и натягиванием резинового? smile

Автор: AntonN 10.12.2009, 19:08
типа этого http://forum.mirgames.ru/index.php?showtopic=6245 + это http://desksoft.ru/index.php?forum=13&th=113

Автор: SultanOFF 10.12.2009, 22:00
спасибо, вторая ссылка довольно интересна smile

Автор: SultanOFF 9.2.2010, 19:26
в общем с модулем АнтонНа совладать не получилось, поэтому пытаюсь сделать по своему. В принципе все работает да только сохраняет не всю область которую Я выделяю. Кого не затруднит, может посмотреть проект и помочь?(проект закрепил)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)