Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.01.2010, 18:45
vigard373 vigard373 вне форума
Прохожий
 
Регистрация: 23.12.2009
Адрес: Петербург
Сообщения: 12
Репутация: 10
По умолчанию Копирование области экрана в окно программы и в файл - одновременно

Пытаюсь одновременно занести информацию в окно своей программы и сохранить в файл.
Одной командой CopyRect обойтись не удаётся и приходится использовать B.Canvas.CopyRect
Но в итоге изображение помещается либо в PaintBox1 либо сохраняется в файл screentofile.bmp

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  DeskTop: TCanvas;
  B : TBitmap;
begin
  DeskTop := TCanvas.Create;
  B := TBitmap.Create;
  try
    with DeskTop do
      Handle := GetWindowDC(GetDesktopWindow);
    with PaintBox1.Canvas do
     begin
      B.Width := 120;
      B.Height := 120;
      CopyRect(Rect(0, 0, 174, 201), DeskTop, Rect(120, 120, 294, 321));
      B.SaveToFile('E:\screentofile.bmp');
     end;
  finally
    DeskTop.Free;
    B.Free;
  end
end;

Конечно можно использовать эти разные команды подряд, тогда всё работает, но считаю это 'варварским' способом.

Наверняка есть более элегантный способ, но чего то не дотумкаю... и кстати изображение в PaintBox почему то сразу пропадает после замещения его другими окнами, как сделать его неизменным?


И ещё маленький вопросик: Как наложить(разместить) два и более разных изображений в рамках одного PaintBox или Image, чтобы они не замещали друг друга, а потом сохранить в один файл или сразу сохранить сумму этих изображений без вывода их в окно программы?

Последний раз редактировалось vigard373, 25.01.2010 в 12:23.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter