Re: the canvas of onPagePrepaint

Return to index



Sergey Tkachenko

Posted: 07/10/2002 15:29:53

PrinterPixelsPerInchX :=  GetDeviceCaps(Canvas.Handle, LOGPIXELSX);

PrinterPixelsPerInchY :=  GetDeviceCaps(Canvas.Handle, LOGPIXELSY);

ScreenPixelsPerInch := Screen.PixelsPerInch;

When printing square having on screen width = height = 100 pixels, use


Width := MulDiv(100, PrinterPixelsPerInchX, ScreenPixelsPerInch);

Height := MulDiv(100, PrinterPixelsPerInchY, ScreenPixelsPerInch);

I.e., you need to multiply values by printer resolution and divide by screen


> i have draw a symbol on richView 's  canvas and record the position of


> point .

> then  i want to paint the symbol  in onPagePrepaint event use those points


> but ,the different printer have different resolution .so the PrintAreaRect

> is dfferent.

> when i draw the point on the canvas in onPagePrepaint event ,

> the size of symbol is different.


> how can change the poistion of a point on richView canvas

> to the postion of the canvas in in onPagePrepaint event





Powered by ABC Amber Outlook Express Converter