Graphics.IsVisible 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。
多載
| 名稱 | Description |
|---|---|
| IsVisible(Single, Single, Single, Single) |
表示由一對座標、寬度與高度所指定的矩形是否包含在此 Graphics矩形的可見剪裁區域內。 |
| IsVisible(Int32, Int32, Int32, Int32) |
表示由一對座標、寬度與高度所指定的矩形是否包含在此 Graphics矩形的可見剪裁區域內。 |
| IsVisible(Int32, Int32) |
表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。 |
| IsVisible(Single, Single) |
表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。 |
| IsVisible(Rectangle) | |
| IsVisible(PointF) | |
| IsVisible(Point) | |
| IsVisible(RectangleF) |
表示結構指定的 RectangleF 矩形是否包含在此 Graphics的可見剪裁區域內。 |
IsVisible(Single, Single, Single, Single)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
表示由一對座標、寬度與高度所指定的矩形是否包含在此 Graphics矩形的可見剪裁區域內。
public:
bool IsVisible(float x, float y, float width, float height);
public bool IsVisible(float x, float y, float width, float height);
member this.IsVisible : single * single * single * single -> bool
Public Function IsVisible (x As Single, y As Single, width As Single, height As Single) As Boolean
參數
- x
- Single
用長方形左上角的 x 座標來測試可見性。
- y
- Single
用矩形左上角的Y座標來測試可見性。
- width
- Single
長方形的寬度來測試可見度。
- height
- Single
長方形的高度來測試可見度。
傳回
true若由 、 、 及 參數定義的矩形包含於此x可見的剪裁區域內;否則, y。widthheightGraphicsfalse
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
建立兩個矩形的位置與大小,一個在裁切區域內,一個在外部。
測試每個矩形的可見性,只畫出可見的那個。
結果是一個小紅色矩形,位於剪接區域內。
public:
void IsVisible4Float( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of rectangles.
float x1 = 100.0F;
float y1 = 100.0F;
float width1 = 20.0F;
float height1 = 20.0F;
float x2 = 200.0F;
float y2 = 200.0F;
float width2 = 20.0F;
float height2 = 20.0F;
// If rectangle is visible, fill it.
if ( e->Graphics->IsVisible( x1, y1, width1, height1 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), x1, y1, width1, height1 );
}
if ( e->Graphics->IsVisible( x2, y2, width2, height2 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), x2, y2, width2, height2 );
}
}
private void IsVisible4Float(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of rectangles.
float x1 = 100.0F;
float y1 = 100.0F;
float width1 = 20.0F;
float height1 = 20.0F;
float x2 = 200.0F;
float y2 = 200.0F;
float width2 = 20.0F;
float height2 = 20.0F;
// If rectangle is visible, fill it.
if (e.Graphics.IsVisible(x1, y1, width1, height1))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Red), x1, y1, width1, height1);
}
if (e.Graphics.IsVisible(x2, y2, width2, height2))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), x2, y2, width2, height2);
}
}
Private Sub IsVisible4Float(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of rectangles.
Dim x1 As Single = 100.0F
Dim y1 As Single = 100.0F
Dim width1 As Single = 20.0F
Dim height1 As Single = 20.0F
Dim x2 As Single = 200.0F
Dim y2 As Single = 200.0F
Dim width2 As Single = 20.0F
Dim height2 As Single = 20.0F
' If rectangle is visible, fill it.
If e.Graphics.IsVisible(x1, y1, width1, height1) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Red), x1, y1, _
width1, height1)
End If
If e.Graphics.IsVisible(x2, y2, width2, height2) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), x2, y2, _
width2, height2)
End If
End Sub
適用於
IsVisible(Int32, Int32, Int32, Int32)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
表示由一對座標、寬度與高度所指定的矩形是否包含在此 Graphics矩形的可見剪裁區域內。
public:
bool IsVisible(int x, int y, int width, int height);
public bool IsVisible(int x, int y, int width, int height);
member this.IsVisible : int * int * int * int -> bool
Public Function IsVisible (x As Integer, y As Integer, width As Integer, height As Integer) As Boolean
參數
- x
- Int32
用長方形左上角的 x 座標來測試可見性。
- y
- Int32
用矩形左上角的Y座標來測試可見性。
- width
- Int32
長方形的寬度來測試可見度。
- height
- Int32
長方形的高度來測試可見度。
傳回
true若由 、 、 及 參數定義的矩形包含於此x可見的剪裁區域內;否則, y。widthheightGraphicsfalse
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
建立兩個矩形的位置與大小,一個在裁切區域內,一個在外部。
測試每個矩形的可見性,只畫出可見的那個。
結果是一個小紅色矩形,位於剪接區域內。
public:
void IsVisible4Int( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of rectangles.
int x1 = 100;
int y1 = 100;
int width1 = 20;
int height1 = 20;
int x2 = 200;
int y2 = 200;
int width2 = 20;
int height2 = 20;
// If rectangle is visible, fill it.
if ( e->Graphics->IsVisible( x1, y1, width1, height1 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), x1, y1, width1, height1 );
}
if ( e->Graphics->IsVisible( x2, y2, width2, height2 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), x2, y2, width2, height2 );
}
}
private void IsVisible4Int(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of rectangles.
int x1 = 100;
int y1 = 100;
int width1 = 20;
int height1 = 20;
int x2 = 200;
int y2 = 200;
int width2 = 20;
int height2 = 20;
// If rectangle is visible, fill it.
if (e.Graphics.IsVisible(x1, y1, width1, height1))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Red), x1, y1, width1, height1);
}
if (e.Graphics.IsVisible(x2, y2, width2, height2))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), x2, y2, width2, height2);
}
}
Private Sub IsVisible4Int(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of rectangles.
Dim x1 As Integer = 100
Dim y1 As Integer = 100
Dim width1 As Integer = 20
Dim height1 As Integer = 20
Dim x2 As Integer = 200
Dim y2 As Integer = 200
Dim width2 As Integer = 20
Dim height2 As Integer = 20
' If rectangle is visible, fill it.
If e.Graphics.IsVisible(x1, y1, width1, height1) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Red), x1, y1, _
width1, height1)
End If
If e.Graphics.IsVisible(x2, y2, width2, height2) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), x2, y2, _
width2, height2)
End If
End Sub
適用於
IsVisible(Int32, Int32)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。
public:
bool IsVisible(int x, int y);
public bool IsVisible(int x, int y);
member this.IsVisible : int * int -> bool
Public Function IsVisible (x As Integer, y As Integer) As Boolean
參數
- x
- Int32
測試可見性所需的點的 x 座標。
- y
- Int32
用來測試可見性的點的 y 座標。
傳回
true若由 和 x 參數定義y的點包含在此 的可見剪裁區域Graphics內;否則,。 false
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
會產生兩個點,一個在裁剪區域內,一個在外部。
測試每個點的可見度,只抽取可見一點。
結果是一個小紅圈,位於剪輯區域內。
public:
void IsVisibleInt( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of points.
int x1 = 100;
int y1 = 100;
int x2 = 200;
int y2 = 200;
// If point is visible, fill ellipse that represents it.
if ( e->Graphics->IsVisible( x1, y1 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10, 10 );
}
if ( e->Graphics->IsVisible( x2, y2 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10, 10 );
}
}
private void IsVisibleInt(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of points.
int x1 = 100;
int y1 = 100;
int x2 = 200;
int y2 = 200;
// If point is visible, fill ellipse that represents it.
if (e.Graphics.IsVisible(x1, y1))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10, 10);
}
if (e.Graphics.IsVisible(x2, y2))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10, 10);
}
}
Private Sub IsVisibleInt(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of points.
Dim x1 As Integer = 100
Dim y1 As Integer = 100
Dim x2 As Integer = 200
Dim y2 As Integer = 200
' If point is visible, fill ellipse that represents it.
If e.Graphics.IsVisible(x1, y1) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
10, 10)
End If
If e.Graphics.IsVisible(x2, y2) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
10, 10)
End If
End Sub
適用於
IsVisible(Single, Single)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
表示由一對座標指定的點是否包含於此 Graphics座標的可見剪裁區域內。
public:
bool IsVisible(float x, float y);
public bool IsVisible(float x, float y);
member this.IsVisible : single * single -> bool
Public Function IsVisible (x As Single, y As Single) As Boolean
參數
- x
- Single
測試可見性所需的點的 x 座標。
- y
- Single
用來測試可見性的點的 y 座標。
傳回
true若由 和 x 參數定義y的點包含在此 的可見剪裁區域Graphics內;否則,。 false
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
會產生兩個點,一個在裁剪區域內,一個在外部。
測試每個點的可見度,只抽取可見一點。
結果是一個小紅圈,位於剪輯區域內。
public:
void IsVisibleFloat( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of points.
float x1 = 100.0F;
float y1 = 100.0F;
float x2 = 200.0F;
float y2 = 200.0F;
// If point is visible, fill ellipse that represents it.
if ( e->Graphics->IsVisible( x1, y1 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10.0F, 10.0F );
}
if ( e->Graphics->IsVisible( x2, y2 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10.0F, 10.0F );
}
}
private void IsVisibleFloat(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of points.
float x1 = 100.0F;
float y1 = 100.0F;
float x2 = 200.0F;
float y2 = 200.0F;
// If point is visible, fill ellipse that represents it.
if (e.Graphics.IsVisible(x1, y1))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10.0F, 10.0F);
}
if (e.Graphics.IsVisible(x2, y2))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10.0F, 10.0F);
}
}
Private Sub IsVisibleFloat(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of points.
Dim x1 As Single = 100.0F
Dim y1 As Single = 100.0F
Dim x2 As Single = 200.0F
Dim y2 As Single = 200.0F
' If point is visible, fill ellipse that represents it.
If e.Graphics.IsVisible(x1, y1) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
10.0F, 10.0F)
End If
If e.Graphics.IsVisible(x2, y2) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
10.0F, 10.0F)
End If
End Sub
適用於
IsVisible(Rectangle)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
public:
bool IsVisible(System::Drawing::Rectangle rect);
public bool IsVisible(System.Drawing.Rectangle rect);
member this.IsVisible : System.Drawing.Rectangle -> bool
Public Function IsVisible (rect As Rectangle) As Boolean
參數
傳回
true如果參數指定的rect矩形包含在此矩形的可見剪裁區域Graphics內;否則,。 false
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
建立兩個矩形的位置與大小,一個在裁切區域內,一個在外部。
測試每個矩形的可見性,只畫出可見的那個。
結果是一個小紅色矩形,位於剪接區域內。
public:
void IsVisibleRectangle( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of rectangles.
Rectangle rect1 = Rectangle(100,100,20,20);
Rectangle rect2 = Rectangle(200,200,20,20);
// If rectangle is visible, fill it.
if ( e->Graphics->IsVisible( rect1 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), rect1 );
}
if ( e->Graphics->IsVisible( rect2 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), rect2 );
}
}
private void IsVisibleRectangle(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of rectangles.
Rectangle rect1 = new Rectangle(100, 100, 20, 20);
Rectangle rect2 = new Rectangle(200, 200, 20, 20);
// If rectangle is visible, fill it.
if (e.Graphics.IsVisible(rect1))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Red), rect1);
}
if (e.Graphics.IsVisible(rect2))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), rect2);
}
}
Private Sub IsVisibleRectangle(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of rectangles.
Dim rect1 As New Rectangle(100, 100, 20, 20)
Dim rect2 As New Rectangle(200, 200, 20, 20)
' If rectangle is visible, fill it.
If e.Graphics.IsVisible(rect1) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Red), rect1)
End If
If e.Graphics.IsVisible(rect2) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), rect2)
End If
End Sub
適用於
IsVisible(PointF)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
public:
bool IsVisible(System::Drawing::PointF point);
public bool IsVisible(System.Drawing.PointF point);
member this.IsVisible : System.Drawing.PointF -> bool
Public Function IsVisible (point As PointF) As Boolean
參數
傳回
true若參數指定的point點包含於此Graphics可視剪裁區域內;否則,。 false
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並用 設定為表單 Replace圖形的裁剪區域。
會產生兩個點,一個在裁剪區域內,一個在外部。
測試每個點的可見度,只抽取可見一點。
結果是一個小紅圈,位於剪輯區域內。
public:
void IsVisiblePointF( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of points.
float x1 = 100.0F;
float y1 = 100.0F;
float x2 = 200.0F;
float y2 = 200.0F;
PointF point1 = PointF(x1,y1);
PointF point2 = PointF(x2,y2);
// If point is visible, fill ellipse that represents it.
if ( e->Graphics->IsVisible( point1 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10.0F, 10.0F );
}
if ( e->Graphics->IsVisible( point2 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10.0F, 10.0F );
}
}
private void IsVisiblePointF(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of points.
float x1 = 100.0F;
float y1 = 100.0F;
float x2 = 200.0F;
float y2 = 200.0F;
PointF point1 = new PointF(x1, y1);
PointF point2 = new PointF(x2, y2);
// If point is visible, fill ellipse that represents it.
if (e.Graphics.IsVisible(point1))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10.0F, 10.0F);
}
if (e.Graphics.IsVisible(point2))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10.0F, 10.0F);
}
}
Private Sub IsVisiblePointF(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of points.
Dim x1 As Single = 100.0F
Dim y1 As Single = 100.0F
Dim x2 As Single = 200.0F
Dim y2 As Single = 200.0F
Dim point1 As New PointF(x1, y1)
Dim point2 As New PointF(x2, y2)
' If point is visible, fill ellipse that represents it.
If e.Graphics.IsVisible(point1) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
10.0F, 10.0F)
End If
If e.Graphics.IsVisible(point2) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
10.0F, 10.0F)
End If
End Sub
適用於
IsVisible(Point)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
public:
bool IsVisible(System::Drawing::Point point);
public bool IsVisible(System.Drawing.Point point);
member this.IsVisible : System.Drawing.Point -> bool
Public Function IsVisible (point As Point) As Boolean
參數
傳回
true若參數指定的point點包含於此Graphics可視剪裁區域內;否則,。 false
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
會產生兩個點,一個在裁剪區域內,一個在外部。
測試每個點的可見度,只抽取可見一點。
結果是一個小紅圈,位於剪輯區域內。
public:
void IsVisiblePoint( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of points.
int x1 = 100;
int y1 = 100;
int x2 = 200;
int y2 = 200;
Point point1 = Point(x1,y1);
Point point2 = Point(x2,y2);
// If point is visible, fill ellipse that represents it.
if ( e->Graphics->IsVisible( point1 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Red ), x1, y1, 10, 10 );
}
if ( e->Graphics->IsVisible( point2 ) )
{
e->Graphics->FillEllipse( gcnew SolidBrush( Color::Blue ), x2, y2, 10, 10 );
}
}
private void IsVisiblePoint(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of points.
int x1 = 100;
int y1 = 100;
int x2 = 200;
int y2 = 200;
Point point1 = new Point(x1, y1);
Point point2 = new Point(x2, y2);
// If point is visible, fill ellipse that represents it.
if (e.Graphics.IsVisible(point1))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Red), x1, y1, 10, 10);
}
if (e.Graphics.IsVisible(point2))
{
e.Graphics.FillEllipse(new SolidBrush(Color.Blue), x2, y2, 10, 10);
}
}
Private Sub IsVisiblePoint(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of points.
Dim x1 As Integer = 100
Dim y1 As Integer = 100
Dim x2 As Integer = 200
Dim y2 As Integer = 200
Dim point1 As New Point(x1, y1)
Dim point2 As New Point(x2, y2)
' If point is visible, fill ellipse that represents it.
If e.Graphics.IsVisible(point1) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Red), x1, y1, _
10, 10)
End If
If e.Graphics.IsVisible(point2) Then
e.Graphics.FillEllipse(New SolidBrush(Color.Blue), x2, y2, _
10, 10)
End If
End Sub
適用於
IsVisible(RectangleF)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
表示結構指定的 RectangleF 矩形是否包含在此 Graphics的可見剪裁區域內。
public:
bool IsVisible(System::Drawing::RectangleF rect);
public bool IsVisible(System.Drawing.RectangleF rect);
member this.IsVisible : System.Drawing.RectangleF -> bool
Public Function IsVisible (rect As RectangleF) As Boolean
參數
- rect
- RectangleF
RectangleF 結構用來測試可見性。
傳回
true如果參數指定的rect矩形包含在此矩形的可見剪裁區域Graphics內;否則,。 false
範例
以下程式碼範例是為 Windows Forms 設計的,並需要 PaintEventArgse,這是 Paint 事件處理程序的參數。 此程式碼會執行下列動作:
建立一個矩形裁剪區域,並使用 Replace。
會產生兩個矩形,一個在裁切區域內,一個在外部。
測試每個矩形的可見性,只畫出可見的那個。
結果是一個小紅色矩形,位於剪接區域內。
public:
void IsVisibleRectangleF( PaintEventArgs^ e )
{
// Set clip region.
System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( Rectangle(50,50,100,100) );
e->Graphics->SetClip( clipRegion, CombineMode::Replace );
// Set up coordinates of rectangles.
RectangleF rect1 = RectangleF(100.0F,100.0F,20.0F,20.0F);
RectangleF rect2 = RectangleF(200.0F,200.0F,20.0F,20.0F);
// If rectangle is visible, fill it.
if ( e->Graphics->IsVisible( rect1 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), rect1 );
}
if ( e->Graphics->IsVisible( rect2 ) )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), rect2 );
}
}
private void IsVisibleRectangleF(PaintEventArgs e)
{
// Set clip region.
Region clipRegion = new Region(new Rectangle(50, 50, 100, 100));
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Set up coordinates of rectangles.
RectangleF rect1 = new RectangleF(100.0F, 100.0F, 20.0F, 20.0F);
RectangleF rect2 = new RectangleF(200.0F, 200.0F, 20.0F, 20.0F);
// If rectangle is visible, fill it.
if (e.Graphics.IsVisible(rect1))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Red), rect1);
}
if (e.Graphics.IsVisible(rect2))
{
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), rect2);
}
}
Private Sub IsVisibleRectangleF(ByVal e As PaintEventArgs)
' Set clip region.
Dim clipRegion As New [Region](New Rectangle(50, 50, 100, 100))
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Set up coordinates of rectangles.
Dim rect1 As New RectangleF(100.0F, 100.0F, 20.0F, 20.0F)
Dim rect2 As New RectangleF(200.0F, 200.0F, 20.0F, 20.0F)
' If rectangle is visible, fill it.
If e.Graphics.IsVisible(rect1) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Red), rect1)
End If
If e.Graphics.IsVisible(rect2) Then
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), rect2)
End If
End Sub