Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

Нужен совет в работе прогораммы   Найти похожие ветки 

 
jenbond   (2004-10-14 13:40) [0]

Мастера подскажите каим образом возможно реализовать следующую задачу,испробывал все известные мне методы.
Суть заключается в следующем, на форме располагается image1  в ней есть jpg. Поверх этого image в программе накладываются компанент (shape), так вот нужно сделать снимок этого image скопировать в буфер, а потом я ыормирую отчет и отправляю на печать. Не могу сделать снимка image с наложенными объектами(имено image  а не формы в целом).


 
Алхимик ©   (2004-10-14 13:54) [1]

Координаты имаджа известны - в чём проблема?


 
Andrey V. ©   (2004-10-14 14:01) [2]

Буквально сегодня искал в интернете (Rambler+"BITBLT") нечто похожее , возможно тебе подойдет :

// Копирование прямоугольной области
function TForm1.CaptureScreenRect(ARect : TRect) : TBitmap;
var
ScreenDC : HDC;
begin
Result:=TBitmap.Create;
with result, ARect do begin
 Width:=Right-Left;
 Height:=Bottom-Top;
 ScreenDC:=GetDC(0);
 try
   BitBlt(Canvas.Handle, 0,0,Width,Height,ScreenDC, Left, Top, SRCCOPY );
 finally
   ReleaseDC(0, ScreenDC);
 end;
end;
end;

// Копирование всего экрана
function TForm1.CaptureScreen : TBitmap;
begin
with Screen do
 Result:=CaptureScreenRect(Rect(0,0,Width,Height));
end;

// Копирование клиентской области формы или элемента
function TForm1.CaptureClientImage(Control : TControl) : TBitmap;
begin
with Control, Control.ClientOrigin do
 result:=CaptureScreenRect(Bounds(X,Y,ClientWidth,ClientHeight));
end;

// Копирование всей формы элемента
function TForm1.CaptureControlImage(Control : TControl) : TBitmap;
begin
with Control do
 if Parent=Nil then
   result:=CaptureScreenRect(Bounds(Left,Top,Width,Height))
 else
  with Parent.ClientToScreen(Point(Left, Top)) do
   result:=CaptureScreenRect(Bounds(X,Y,Width,Height));
end;



Страницы: 1 вся ветка

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
4-1096337566
Laymer
2004-09-28 06:12
2004.10.31
Меню пуск.


14-1097644935
Демидович
2004-10-13 09:22
2004.10.31
Первообразная


8-1091692644
dedMazDie
2004-08-05 11:57
2004.10.31
Пример использования ScanLine


1-1097754448
HELPMEPLEASE
2004-10-14 15:47
2004.10.31
Проблема с событием нажатия на клавишу!??


3-1096878888
Alibaba
2004-10-04 12:34
2004.10.31
TQuery -> в текстовый файл