Вниз
Скачать: CL | DM;

Как пустить на печать канву например PaintBox-а?   Найти похожие ветки 

 
Fletch   (2002-09-04 15:58) [0]

Сильно не бейте.
Есть PaintBox на его канве что-то нарисованно.
Обьясните плиз по шагам как ее пустить на печать.


 
Tihas ©   (2002-09-04 22:26) [1]

Вот попробуй, проверить этого не могу(принтера нет), но всё
прекрасно компилируеться, и выдаёться ошибка нет Принтера.
А вообще-то по теории обязанно работать.

procedure TForm1.formcreate(Sender: TObject);
var PaintBox:TPaintbox;
begin
PaintBox:=TPaintBox.Create(self);
PaintBox.Canvas.Ellipse(10,10,100,100);
Printer.BeginDoc;
Printer.Canvas.CopyRect(PaintBox.ClientRect,PaintBox.Canvas,Printer.Canvas.ClipRect);
Printer.EndDoc;
PaintBox.Destroy;
end;

Удачи. Всего хорошего.


 
Fletch   (2002-09-05 09:28) [2]

Увы не работает :(
Я уже пробовал и так:

var b:TBitmap;
begin
b:=TBitmap.Create;
b.Width:=200;
b.Height:=200;
b.Canvas.Pen.Color:=clBlack;
b.Canvas.Pen.Width:=2;
b.Canvas.Brush.Color:=clBlack;
b.Canvas.Rectangle(10,10,100,100);
Printer.BeginDoc;
Printer.Canvas.Draw(0,0, b);
Printer.EndDoc;
end;

и так:

с коэфициентами (R:TRect)

Printer.BeginDoc;
with Printer do
try
ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch;
R := Rect(0, 0, b.Width * ScaleX, b.Height * ScaleY);
Canvas.StretchDraw(R, b);
finally
EndDoc;
end;

на печать выдает, вылезает пустой лист! :(
Единствнное когда печает, это когда рисуешь сразу на канве принтера:

Например

Printer.BeginDoc;
Printer.Rectengle(0,0,100,100);
Printer.TextOut(50,50,"dfdsfdsfdfdsfdsfdsfdsf");
Printer.EndDoc;

Во всех других случаях, если рисовать где в другом месте и потом копировать на канву принтера - печатает пустой лист.
Что я не так делаю?


 
sergn   (2002-09-05 10:46) [3]

В примере печати Bitmap, перед определением размеров Bitmap,
вставь
b.pixelformat:=pf24bit;

b.Width:=200;
b.Height:=200;



 
Fletch   (2002-09-05 10:58) [4]

sergn СПАСИБО ОГРОМНОЕ!!!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-61803
France
2002-11-28 11:24
2002.12.19
Теща и свекровь


14-61780
Grande
2002-11-27 10:11
2002.12.19
Кому-нибудь нужна книга по Delphi5?


4-61864
AndreiR
2002-11-05 18:12
2002.12.19
Убрать вертикальную прокрутку в TDBGrid е


3-61406
Леший
2002-12-03 13:53
2002.12.19
Подскажите пожалуйста. Мне нужно строки в DBGrid подсвечивать


14-61808
AL2002
2002-11-25 13:18
2002.12.19
Королевство дельфи. (не успел добавить). Теперь можно и стереть.




   Наверх