太い線をGraphics.Lines()メソッドを使用して描画したかったのです。しかし、APIにはいくつかのバグがあるようです。次のコードでユーザーコントロールをレンダリングしようとすると、奇妙な画像が表示されます。私は、いくつかのスムージングモードか、この線を描くグリッチを処理できるようなものがあるかどうか疑問に思っていました。ここでC#.NETの太い線の描画の問題
private void UserControl1_Paint(object sender, PaintEventArgs e)
{
int n = 100;
Point[] points = new Point[n];
double x = 2;
int y = 50;
for (int i = 0; i < n; i++)
{
Point p = new Point();
p.X = 200 + (int)(i * x);
p.Y = 200 + (int)(Math.Sin(i * 0.2) * y);
points[i] = p;
}
Pen pen = new Pen(new SolidBrush(Color.Blue));
//Pen pen = new Pen(new LinearGradientBrush(new Point(0, 0), new Point(0, 100), Color.Black, Color.Red));
pen.Width = 200;
e.Graphics.DrawLines(pen, points);
}
「奇妙な」スクリーンショットを明確にすることはできますか? –
なぜあなたは200の幅を使用していますか? –
@ Michaelが何かをしている: 'pen.Width = 1'を作って、あなたが探しているものを手に入れようと思う。 –