问题描述
bm=newBitmap(210,80);SolidBrushbrush=newSolidBrush(Color.Black);GraphicsG=Graphics.FromImage(bm);G.Clear(Color.White);G.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.AntiAlias;G.CompositingQuality=System.Drawing.Drawing2D.CompositingQuality.HighQuality;G.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.High;G.DrawString(pncode,font,brush,0,65);Rectangle[]R=newRectangle[37];//矩形坐标whfor(inti=0;i<37;i++){G.FillRectangle(brush,R[i]);}pictureBox1.Image=bm;G.Dispose();Clipboard.SetDataObject(this.pictureBox1.Image);图1很模糊跟bm=newBitmap(210,80);大小有干系吗?另外图2是使用G.DrawRectangle(newPen(System.Drawing.Brushes.Black,0.00000001f),R[i]);G.FillRectangle(brush,R[i]);先画框后天聪效果明显清晰(忽略粗黑部分)
解决方案
解决方案二:
G.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.AntiAlias;跟这个有关系抗锯齿属性只有你涉及到画斜线的时候有用如果你本来就都是横竖的,加了这个反而不如不加
解决方案三:
有改观确实是。但和目标图片相差还是很大其实已经取得矩阵的坐标值只是无论怎么显示就是没有人家的清晰度