Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.039 c
1-61656
smok_er
2002-12-08 00:10
2002.12.19
Мутексы, черт их подери...


1-61574
TCrash
2002-12-09 22:42
2002.12.19
сортировка TListview


6-61740
Like
2002-10-23 22:59
2002.12.19
NetSessionDel


1-61585
Essense
2002-12-10 10:50
2002.12.19
окно консольного приложения


1-61620
Filat
2002-12-04 23:26
2002.12.19
DateEdit из RxLib - не могу открыть на Ins, ну вааще прикол?