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

Вниз

TImage - распечатать   Найти похожие ветки 

 
baataars   (2003-12-23 13:20) [0]

как?


 
Тимохов ©   (2003-12-23 13:24) [1]

Можешь попробовать скопировать canvas image"а на canvas printer"а.


 
Ega23 ©   (2003-12-23 13:26) [2]

if not PrintDialog1.Execute then Exit;

try
with Printer do
begin
BeginDoc;
StretchBlt(Canvas.Handle,0,0,PageWidth,PageHeight,FrontImage.Canvas.Handle,
0,0,FrontImage.Width,FrontImage.Height,SRCCOPY);
if HasReverse<>0 then
begin
NewPage;
StretchBlt(Canvas.Handle,0,0,PageWidth,PageHeight,BackImage.Canvas.Handle,
0,0,BackImage.Width,BackImage.Height,SRCCOPY);
end;
EndDoc;
end;
except
ModalResult:=mrAbort;
end;


BackImage, FrontImage:TImage;


 
Тимохов ©   (2003-12-23 13:28) [3]

Вот, таким образом baataars прошел мимо возможности чему-то научиться самому.


 
Sandman25 ©   (2003-12-23 13:28) [4]

[2] Ega23 © (23.12.03 13:26)

Желательно еще оформить в виде

Printer.BeginDoc;
try
...
Printer.EndDoc;
except
Printer.Abort;
raise;
end;


 
Ega23 ©   (2003-12-23 13:30) [5]


> Sandman25 © (23.12.03 13:28) [4]

Пожалуй да.


 
REA ©   (2003-12-23 14:18) [6]

Код будет работать сильно не всегда. Лучше использовать StretchDiBits (См. TCustomForm.Print). Узнать Capabilities принтера тоже не всегда помогает - драйвера врут безбожно.


 
baataars   (2003-12-23 14:43) [7]

а если на канве имаджа JPEG или другое, то распечатать так не получается
:(


 
Dmitriy O. ©   (2003-12-23 15:28) [8]

Е а за чем так сложно то ??
qrimage1.Picture:=image1.Picture;
quickrep1.Preview;// или сразу print


 
baataars   (2003-12-23 18:19) [9]

а quickrepорту БДЕ нужен?
мне нужна маленькая программка без БДЕ, чтоб с препросмотром печатала


 
Dmitriy O. ©   (2003-12-24 07:59) [10]


> а quickrepорту БДЕ нужен?
Нет тем более ты же картинку печатаешь.


 
KSergey ©   (2003-12-24 08:11) [11]

Про печать кортинок смотреть тут:
http://doc.trecom.tomsk.su/Delphi/UnofficialDevelopersFAQ/pages/printer.htm


 
REA ©   (2003-12-24 10:02) [12]

В статье все же лучше использовать функцию, где StretchDIBits (она чуть выше), а не вторую.


 
KSergey ©   (2003-12-24 10:47) [13]

Однако ссылку я битую, видимо, дал... А раньше работала...

Но вот тут есть такая же в принципе функция
http://www.akzhan.midi.ru/devcorner/akdeltnt-content/akdeltnt-0047.html


 
ALEIIIKA ©   (2003-12-25 14:29) [14]


var
Rect : TRect;
begin
Rect.Top := 10;
Rect.Left := 10;
Rect.Right := 10 + Form1.Image1.Picture.Graphic.Width;
Rect.Bottom := 10 + Form1.Image1.Picture.Graphic.Height;

Printer.BeginDoc;
try
Printer.Canvas.StretchDraw(Rect,Form1.Image1.Picture.Graphic);
Printer.EndDoc;
except
Printer.Abort;
raise;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
7-25627
MakNik
2003-10-29 14:59
2004.01.09
Как програмно создать новую папку?


14-25571
Asad
2003-12-19 15:45
2004.01.09
Помогите по работе с сетью


14-25581
SergP
2003-12-18 00:50
2004.01.09
PHP&MySQL. Нужно узнать значение присвоеное автоинкр. полю.


14-25509
РВА
2003-12-16 13:27
2004.01.09
Подключение к сети


14-25512
Думкин
2003-12-16 07:03
2004.01.09
С днем рождения! 16 декабря.