GraphicsPathIterator.HasCurve Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda cesta přidružená k tomuto GraphicsPathIterator objektu obsahuje křivku.
public:
bool HasCurve();
public bool HasCurve ();
member this.HasCurve : unit -> bool
Public Function HasCurve () As Boolean
Návraty
Tato metoda vrátí true
, pokud aktuální dílčí cesta obsahuje křivku, false
jinak .
Příklady
Následující příklad je navržený pro použití s model Windows Forms a vyžaduje PaintEventArgse
OnPaint objekt události . Kód provede následující akce:
Vytvoří GraphicsPath objekt
myPath
.Přidá tři čáry, obdélník a tři tečky.
Vytvoří GraphicsPathIterator objekt pro
myPath
.Testuje, jestli aktuální cesta
myPath
obsahuje křivku.Zobrazí výsledek testu v okně se zprávou.
private:
void HasCurveExample( PaintEventArgs^ /*e*/ )
{
// Create a path and add three lines,
// a rectangle and an ellipse.
GraphicsPath^ myPath = gcnew GraphicsPath;
array<Point>^ myPoints = {Point(20,20),Point(120,120),Point(20,120),Point(20,20)};
Rectangle myRect = Rectangle(120,120,100,100);
myPath->AddLines( myPoints );
myPath->AddRectangle( myRect );
myPath->AddEllipse( 220, 220, 100, 100 );
// Create a GraphicsPathIterator for myPath.
GraphicsPathIterator^ myPathIterator = gcnew GraphicsPathIterator( myPath );
// Test for a curve.
bool myHasCurve = myPathIterator->HasCurve();
// Show the test result.
MessageBox::Show( myHasCurve.ToString() );
}
private void HasCurveExample(PaintEventArgs e)
{
// Create a path and add three lines,
// a rectangle and an ellipse.
GraphicsPath myPath = new GraphicsPath();
Point[] myPoints = {new Point(20, 20), new Point(120, 120),
new Point(20, 120),new Point(20, 20) };
Rectangle myRect = new Rectangle(120, 120, 100, 100);
myPath.AddLines(myPoints);
myPath.AddRectangle(myRect);
myPath.AddEllipse(220, 220, 100, 100);
// Create a GraphicsPathIterator for myPath.
GraphicsPathIterator myPathIterator = new
GraphicsPathIterator(myPath);
// Test for a curve.
bool myHasCurve = myPathIterator.HasCurve();
// Show the test result.
MessageBox.Show(myHasCurve.ToString());
}
Public Sub HasCurveExample(ByVal e As PaintEventArgs)
Dim myPath As New GraphicsPath
Dim myPoints As Point() = {New Point(20, 20), _
New Point(120, 120), New Point(20, 120), New Point(20, 20)}
Dim myRect As New Rectangle(120, 120, 100, 100)
myPath.AddLines(myPoints)
myPath.AddRectangle(myRect)
myPath.AddEllipse(220, 220, 100, 100)
' Create a GraphicsPathIterator for myPath.
Dim myPathIterator As New GraphicsPathIterator(myPath)
Dim myHasCurve As Boolean = myPathIterator.HasCurve()
MessageBox.Show(myHasCurve.ToString())
End Sub
Poznámky
Všechny křivky v dráze jsou uloženy jako sekvence Bézierových křivek. Když například k cestě přidáte tři tečky, zadáte levý horní roh, šířku a výšku ohraničujícího obdélníku elipsy. Tato čísla (levý horní roh, šířka a výška) nejsou uložena v cestě; Místo toho; elipsa je převedena na sekvenci čtyř Bézierových křivek. Cesta ukládá koncové body a řídicí body těchto Bézierových spojnic.
Cesta ukládá pole datových bodů, z nichž každý patří spojnici nebo Bézierovy spojnici. Pokud některé body v matici patří Bézierovy křivky, HasCurve vrátí funkce true
. Pokud všechny body v matici patří do čar, HasCurve vrátí funkce false
.
Některé metody zploštějí dráhu, což znamená, že všechny křivky v cestě jsou převedeny na sekvence čar. Po zploštělení HasCurve cesty vždy vrátí false
. FlattenVolání metody GraphicsPath , Widennebo Warp třídy zploštělí cestu.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro