打印比例(20分)

  • 主题发起人 主题发起人 maginnn
  • 开始时间 开始时间
M

maginnn

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
pdevice,pdriver,pport:array[0..255]of char;
hdmode:thandle;
pdmode:pdevicemode;
begin
if openpicturedialog1.Execute then
printer.GetPrinter(pdevice,pdriver,pport,hdmode);
if hdmode=0 then

begin
printer.PrinterIndex :=printer.PrinterIndex ;
printer.GetPrinter (pdevice,pdriver,pport,hdmode);
end;
if hdmode<>0 then
begin
pdmode:=globallock(hdmode);
if pdmode<>nil then
begin
//比例 但不好使,为什么?我该怎么办?
pdmode^.dmfields:=pdmode^.dmfields or dm_scale;
pdmode^.dmscale:=200;
globalunlock(hdmode);
end;
end;
printer.begin
Doc ;//开始打印
printer.Canvas.TextOut(700,900,'delphi is best!'
printer.EndDoc;
//结束打印
end;
 
还有我在使用printdialog时,在点击printdialog页面中的"确定"按钮时,并不能直接执行
打印功能,我想知道,点击"确定"按钮时能否直接执行打印功能?
 
我想扩大字体的比例!
多谢大家帮帮忙!
 
計算打印機分辨率,
例如在 HP DJ 680 300*300
字體 12
EPSON 1600 150*150
字体應為: 6 12/300=X/150 X:=6;
大概方向如此,你再去試一下[:)][:)][:)][:)]
 
我也遇到同样的问题,不过是缩小打印,我的代码与maginnn类似,但在打印机上的输出结果
没有什么变化?我也提了问题,希望有结果的时候给我email:zh.ys@163.com.多谢!
 
后退
顶部