为什么用普通纸和照片纸打印的图象不是一样大小?(2分)

  • 主题发起人 主题发起人 cjg325
  • 开始时间 开始时间
C

cjg325

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么用普通纸和照片纸打印的图象不是一样大小?
 
?????????????????????????????????
 
你用了不同的分辨率: 你在打印机上选择了不同的纸介质,打印机会自动调用不同的分辨率
来打印,比如,你选择普通纸,它可能会用 600x600,而选择了照片纸,它就用1200x1200,而你
的程序中没有对应的比例控制功能,那就不一样了
 
设置打印质量 会改变打印机画布的尺寸 你可以试一下先后取得两种打印质量的
printer 的 width, height
 
具体怎么做?
 
我程序是这样的,请问为什么同样的图片在使用普通打印,和照片质量打印的时候,大小不一样?
procedure TForm1.PrintImg;
var
ScaleX, ScaleY, temp: Integer;
R: TRect;
begin
if printdialog1.Execute then
begin
Printer.BeginDoc;
Printer.
with Printer do
try
ScaleX := GetDeviceCaps(Handle, logPixelsX) div
PixelsPerInch;
ScaleY := GetDeviceCaps(Handle, logPixelsY) div
PixelsPerInch;
temp := GetDeviceCaps(Handle, logPixelsX);
R := Rect(10, 10, Image2.Picture.Width * (ScaleX-1),
Image2.Picture.Height * (ScaleY-1));
Canvas.StretchDraw(R, Image2.Picture.Bitmap);
//Canvas.CopyRect(R,Image2.Canvas,Rect(0,0,Image2.Width,Image2.Height));
finally
EndDoc;
end;
end;
end;
 
???????????
 
帮忙看看啊,到底是怎么回事?
 
后退
顶部