gen_region_contour_xldgen_region_contour_xldGenRegionContourXldGenRegionContourXld (Operator)
Name
gen_region_contour_xldgen_region_contour_xldGenRegionContourXldGenRegionContourXld
— Generierung einer Region aus einer XLD-Kontur.
Signatur
Herror gen_region_contour_xld(const Hobject Contour, Hobject* Region, const char* Mode)
Herror T_gen_region_contour_xld(const Hobject Contour, Hobject* Region, const Htuple Mode)
Beschreibung
gen_region_contour_xldgen_region_contour_xldGenRegionContourXldGenRegionContourXldGenRegionContourXld
erzeugt eine pixelgenaue Region
RegionRegionRegionRegionregion
aus einer subpixelgenauen XLD-Kontur ContourContourContourContourcontour
.
Die örtliche Diskretisierung der Kontur erfolgt nach dem
Bresenham-Algorithmus und berücksichtigt die Nachbarschaftsbeziehung,
welche sich mit Hilfe des Wertes des Parameters 'neighborhood'"neighborhood""neighborhood""neighborhood""neighborhood" des
Operators set_systemset_systemSetSystemSetSystemSetSystem
einstellen lässt. Offene Konturen werden
geschlossen, bevor sie in eine Region gewandelt werden. Der Parameter
ModeModeModeModemode
legt schließlich fest, ob die Region gefüllt
('filled'"filled""filled""filled""filled") oder nur ihr Rand ('margin'"margin""margin""margin""margin") zurückgegeben wird.
Zu beachten ist, dass die Koordinaten der Konturpunkte während
der Umwandlung auf die nächsten Integer-Pixelkoordinaten gerundet
werden. Dies kann zu unerwarteten Ergebnissen führen, wenn man
die aus dem Operator gen_contour_region_xldgen_contour_region_xldGenContourRegionXldGenContourRegionXldGenContourRegionXld
erhaltene Kontur
als Eingabe an gen_region_contour_xldgen_region_contour_xldGenRegionContourXldGenRegionContourXldGenRegionContourXld
übergibt: Setzt man
den Parameter ModeModeModeModemode
von gen_contour_region_xldgen_contour_region_xldGenContourRegionXldGenContourRegionXldGenContourRegionXld
auf
'border'"border""border""border""border", dann sind die Eingaberegion von
gen_contour_region_xldgen_contour_region_xldGenContourRegionXldGenContourRegionXldGenContourRegionXld
und die Ergebnisregion von
gen_region_contour_xldgen_region_contour_xldGenRegionContourXldGenRegionContourXldGenRegionContourXld
unterschiedlich. Nehmen wir z.B.
an, dass die Eingaberegion von gen_contour_region_xldgen_contour_region_xldGenContourRegionXldGenContourRegionXldGenContourRegionXld
lediglich aus dem Pixel (1,1) besteht. Dann enthält die
Ergebniskontur von gen_contour_region_xldgen_contour_region_xldGenContourRegionXldGenContourRegionXldGenContourRegionXld
(wenn
ModeModeModeModemode
auf 'border'"border""border""border""border" gesetzt ist) die fünf Punkte
(0.5,0.5), (0.5,1.5), (1.5,1.5), (1.5,0.5) und (0.5,0.5).
Übergibt man diese Kontur wiederum an
gen_region_contour_xldgen_region_contour_xldGenRegionContourXldGenRegionContourXldGenRegionContourXld
, erhält man folglich eine
Ergebnisregion, die aus den Punkten (1,1), (1,2), (2,2) und (2,1)
besteht.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ContourContourContourContourcontour
(input_object) xld_cont(-array) →
objectHXLDContHXLDContHobject
Eingabe-Kontur(en).
RegionRegionRegionRegionregion
(output_object) region(-array) →
objectHRegionHRegionHobject *
Erzeugte Region(en).
ModeModeModeModemode
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Füllmodus der Region(en).
Defaultwert:
'filled'
"filled"
"filled"
"filled"
"filled"
Wertevorschläge: 'filled'"filled""filled""filled""filled", 'margin'"margin""margin""margin""margin"
Vorgänger
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld
,
gen_contour_polygon_rounded_xldgen_contour_polygon_rounded_xldGenContourPolygonRoundedXldGenContourPolygonRoundedXldGenContourPolygonRoundedXld
Alternativen
gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygon
,
gen_region_polygon_xldgen_region_polygon_xldGenRegionPolygonXldGenRegionPolygonXldGenRegionPolygonXld
Siehe auch
set_systemset_systemSetSystemSetSystemSetSystem
Modul
Foundation