S snappy Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-03 #1 Delphi输出的字体都是长宽相等的,如何让它输出长宽不等的字体?如字长100而宽是20 打印时不可能让用户来输入打印纸的象素是多大吧!那么怎么把图形象素转换为厘米呢? 谢谢各位。
O OopsWare Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-03 #2 将要写的文字写道 TIamge 的 Canvas 中,用StretchDraw画到另一 Canvas 算好比例,就打出来了。API中有创建你说的字体的函数,一时想不起了! Screen.PixelsPerInch 可取到屏幕中每英寸的点数(一般为96)。1英寸=2.54厘米 自己换算一下。
将要写的文字写道 TIamge 的 Canvas 中,用StretchDraw画到另一 Canvas 算好比例,就打出来了。API中有创建你说的字体的函数,一时想不起了! Screen.PixelsPerInch 可取到屏幕中每英寸的点数(一般为96)。1英寸=2.54厘米 自己换算一下。
卷 卷起千堆雪tyn Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-03 #3 procedure TForm1.Button1Click(Sender: TObject); var h : HFont; begin h:=CreateFont(200,50,0,0,300,0,0,0,0,0,0,0,0,'楷体'); Canvas.Font.Handle :=h; Canvas.TextOut(100,100,'卷起千堆雪'); end; 1英寸=2.54厘米 你打印时,有一个dpi,也就是打印的分辨率!比如说300dpi,就是1英寸有300个 象素点!这样你就可以在厘米和象素之间转化了。2.54厘米=300个象素点 OK?
procedure TForm1.Button1Click(Sender: TObject); var h : HFont; begin h:=CreateFont(200,50,0,0,300,0,0,0,0,0,0,0,0,'楷体'); Canvas.Font.Handle :=h; Canvas.TextOut(100,100,'卷起千堆雪'); end; 1英寸=2.54厘米 你打印时,有一个dpi,也就是打印的分辨率!比如说300dpi,就是1英寸有300个 象素点!这样你就可以在厘米和象素之间转化了。2.54厘米=300个象素点 OK?