Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];

Вниз

Как пустить на печать канву например 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 вся ветка

Форум: "Media";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-61616
kull
2002-12-09 13:58
2002.12.19
Вопрос по существу...


3-61433
Fishka
2002-11-26 14:03
2002.12.19
Foxpro-шные базы с CDX-индексами и memo-полями (fpt)


1-61537
Lizerginnn
2002-12-09 14:53
2002.12.19
Работа с


3-61458
Shadow
2002-12-01 14:38
2002.12.19
DBISORTTABLE


1-61697
vantage
2002-12-09 09:15
2002.12.19
Formula One





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский