2017-02-01 3 views
0

としてWindowsフォームで、GraphicsとGraphicsのページスケールを0.50としてDashStyle.Dotとしてスタイルを設定して、線を描画しようとしています。しかし、行は形式で表示されません。誰もがこの上で私を提案してください....Graphics.PageScaleを使用してDashStyle.Dot Lineを0.50

は、以下のコードを参照してください。

protected override void OnPaint(PaintEventArgs e) 
    { 
     gp = e.Graphics; 
     gp.PageScale = 0.50f; 
     using (System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.White)) 
     { 
      gp.FillRectangle(myBrush, new RectangleF(30, 100, 400, 600)); 
     }    
     // Create pen. 
     using (Pen blackPen = new Pen(Color.Black, 0)) 
     { 
      blackPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; 
      gp.DrawLine(blackPen, 30, 200, 430, 200); 
     } 
    } 

答えて

0

私はそれが描かれていますが、それは実質的に目に見えないですので、それはあまりにも小さな幅を有していると考えています。 次のような別の幅を試してみてください。

 using (Pen blackPen = new Pen(Color.Black, 4.0F)) 
     { 
      blackPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; 
      gp.DrawLine(blackPen, 30, 200, 430, 200); 
     } 
+0

こんにちは。実際にこのエラーはGraphics pagescaleを0.5に設定した場合にのみ発生します。それ以外の場合は、動作します。 –

+0

どのようなエラーが表示されますか? –

+0

私は何のエラーもありませんでした。 ここでは、DashStyle.Dot Lineはレンダリングされないので、私たちはpagescaleを0.5に設定している間にエラーを言及しています。しかし、値を0.5より小さいか大きくするように設定しようとすると、正常に動作します。 私のプロジェクトでは、デフォルトでペンを作成し、幅をゼロに設定しました。 –

関連する問題