以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]DrawString做的painter控件打印时会有很强的颗粒感  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=45063)

--  作者:mickeygy
--  发布时间:2014/1/14 23:39:00
--  [求助]DrawString做的painter控件打印时会有很强的颗粒感

 

为了能显示旋转90度的label,先用DrawString把想显示的字符串画成图片然后再旋转。

这样做出来的控件在屏幕上看挺正常的 怎么用打印机打印出来就有很强的的颗粒感?好像分辨率不够的样子。

请高手帮忙解答,谢谢先!

 

Dim p As WinForm.Painter = e.Form.Controls("Painter")
Dim w As Integer = p.Width
Dim h As Integer = p.Height
Dim g As Graphics = p.Graphics   \'获取Graphics对象
Dim fnt As New Font("Arial",6)
Dim msg As String =  "ABCDEFGHIJKLMN"
Dim  sf As StringFormat = new StringFormat(StringFormat.GenericTypographic)
Dim  size As  SizeF = g.MeasureString(msg,fnt,1000,sf)
Dim sh =(h/2 - size.Height/2)
Dim sw =(w/2 -  size.Width/2)
g.TranslateTransform(w/2, h/2)
g.RotateTransform(-90)
g.TranslateTransform(-w/2, -h/2)
g.DrawString(msg,fnt,Brushes.BLACK,sw,sh)
g.TranslateTransform(w/2, h/2)
g.RotateTransform(90)
p.Repaint()


--  作者:mickeygy
--  发布时间:2014/1/15 22:21:00
--  
求教。。。
--  作者:有点甜
--  发布时间:2014/1/15 22:32:00
--  
 路过,不知道