Главная страница
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.036 c
3-1096536049
Quazar
2004-09-30 13:20
2004.10.31
Ошибка BDE


14-1097582626
1008
2004-10-12 16:03
2004.10.31
Схемы мониторов.


14-1097137128
Игорь Шевченко
2004-10-07 12:18
2004.10.31
Вопрос к бывшим владельцам старого железа


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


11-1082110098
Bezols
2004-04-16 14:08
2004.10.31
KOLEDB - не получается добавить новые записи