Вниз
Скачать: 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
4-61890
Xemax
2002-11-02 15:31
2002.12.19
Время задавать ОЧЕНЬ СЛОЖНЫЕ ВОПРОСЫ !!!!


14-61786
sural
2002-11-27 21:00
2002.12.19
HELP!!! HELP!!!


7-61856
Lars
2002-10-17 11:54
2002.12.19
Как записать на CD из моей программы!


6-61721
shelest
2002-10-23 12:06
2002.12.19
Кодировка писем при получении через POP3


1-61667
Le!
2002-12-08 11:20
2002.12.19
Скажите!




   Наверх