Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизНужен совет в работе прогораммы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c