2009-08-23 19 views
0

私はまだレーダーをシミュレートしています(または試行しようとしています)。試行錯誤によって、ピクチャボックスの背景の上にパイを描くことができました。今私はその領域を私のクリッピング領域にしようとしています。これをどのように達成するのですか?私はこれを明確に説明する何も出てこなかった。私は次のコードを持っています:シェイプを使用してクリッピング領域を定義するにはどうすればよいですか?

void OnPaintRadar(Object sender, PaintEventArgs e) 
{ 
    Graphics g = e.Graphics; 
    Rectangle radar_rect = new Rectangle(myRadarBox.Left + 90, myRadarBox.Left + 18, myRadarBox.Width - 200, myRadarBox.Height + 200); 
    using (Pen drw_pen = new Pen(Color.White, 1)) 
    { 
     g.DrawPie(drw_pen,radar_rect, 180, 180); 
    } 
} 

私が今したいことは、私がクリッピング領域を描いたことです。

あなたがグラフィックに描いたパイを使用することはできません

答えて

1

、あなたが地域のために別々に定義する必要があります。

GraphicsPath gpath new GraphicsPath(); 
gpath.AddPie(rect, startAngle, sweepAngle); 
gpath.CloseFigure(); 
this.Region = new Region(gpath); 
+0

どうもありがとうございました –

+0

私はまだ地域に自分の画像を追加する問題を抱えています。私はオブジェクトを描くのに使う小さな写真を持っています。 g.DrawImageを使用すると、領域全体がピクチャで塗りつぶされます。これは必要な結果ではなく、g.DrawImageUnscaledは何も表示しません。 –

関連する問題