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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2008, 16:17   #1
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию Getformimage другие способы

Есть какой-нибудь способ получить битмап формы со всеми компонентами, getformimage не отображает некоторые компоненты. Нужно получать битмап даже если форма в свернутом состоянии как getformimage. Или можно как-нить получить битмап отдельно всех компонентов, так же если форма в свернутом состоянии.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Deight вне форума Ответить с цитированием
Старый 25.12.2008, 16:51   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  bmp2: tbitmap;
  DC: HDC;
begin
  bmp:=TBitmap.Create;
  bmp.Width:=ClientWidth;
  bmp.Height:=ClientHeight;
  DC:=GetDC(Handle);
  bmp.Canvas.Handle:=DC;

  bmp2:=TBitmap.Create;
  bmp2.Width:=ClientWidth;
  bmp2.Height:=ClientHeight;
  bmp2.Canvas.Draw(0,0,bmp);
  bmp2.SaveToFile('c:\1.bmp');
end;
Странно, но bmp сохранять не хочет, пишет что памяти недостаточно для выполнения операции, а если нарисовать изображение во второй bmp2, то все отлично сохраняет.
___________________________________ __
Ага, думаю нашел самый хороший вариант:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  dc: hdc;
  bmp: tbitmap;
begin
  bmp:=TBitmap.Create;
  bmp.Width:=ClientWidth;
  bmp.Height:=ClientHeight;
  dc:=getdc(Handle);
  BitBlt(bmp.Canvas.Handle,0,0,ClientWidth,ClientHeight,dc,0,0,SRCCOPY);
  bmp.SaveToFile('c:\1.bmp');
end;

Последний раз редактировалось Kostia; 25.12.2008 в 17:00.
Kostia вне форума Ответить с цитированием
Старый 25.12.2008, 17:46   #3
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию

Извените но код не подходит, в свернутом состоянии попробуйте его. А getformimage в свернутом нормально все делает, но не все компоненты отображает.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Deight вне форума Ответить с цитированием
Старый 26.12.2008, 18:08   #4
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию

Неужели с подобным ни кто не сталкивался?
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Deight вне форума Ответить с цитированием
Старый 27.12.2008, 13:07   #5
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию

Почему paintto не отображает частично или полностью некоторые компоненты, возможно альтернативное решение?
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Deight вне форума Ответить с цитированием
Старый 27.12.2008, 15:29   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Никто и не поможет т.к. у TForm - есть хендл а как сделать скриншот зная хендл окна уже миллиарды раз обсуждалось
BOBAH13 вне форума Ответить с цитированием
Старый 27.12.2008, 16:32   #7
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию

Я просто думал что скриншотом называют снимок того что отображается на экране, а мне надо свернутые формы, по тому не искал с этим словом.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Deight вне форума Ответить с цитированием
Старый 28.12.2008, 16:06   #8
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию

Нашел printwindow но на скрине не отображается видео, например с dspack dsvideowindowex. Как отобразить полностью окно с курсором в memo и со всей остальной шляпой. Чтоб на скрине было один в один как на форме, если тема такая поднималась дайте ссылку, я через мобилу задолбался уже по форуму и в гугле лазить.
А еще круче если вообще заставить форму отрисовывать себя на битмапе каком-нибудь.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.

Последний раз редактировалось Deight; 29.12.2008 в 01:41.
Deight вне форума Ответить с цитированием
Старый 28.12.2008, 16:53   #9
Константин007
 
Регистрация: 28.12.2008
Сообщений: 3
По умолчанию Проблема со скриншотом.

Доброго времени суток уважаемые гуру и все остальные.
Вопрос собственно следующего характера:
Как можно получить скриншот (ну или битмеп) со свернутого окна использующего DirectShow или OpenGL? Например с любого проигрывателя видео или игрушки. Есть варианты? Заранее спасибо.
Всех с Наступающим
Константин007 вне форума Ответить с цитированием
Старый 29.12.2008, 13:01   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
не отображается видео
Оно и не будет отображаться, если через оверлей выводится.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различные способы подключения к Sybase hyperworker Безопасность, Шифрование 0 05.04.2008 15:24
способы работы с Б.Д. Ванька БД в Delphi 1 20.11.2007 22:12
способы создания баз Ванька БД в Delphi 2 20.11.2007 12:42
Способы вызовов функций MultIfleX Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.10.2007 06:07
Способы ведения файла-лога Norfolk Общие вопросы Delphi 2 14.06.2007 20:47