gen_grid_regiongen_grid_regionGenGridRegionGenGridRegiongen_grid_region (Operator)
Name
gen_grid_regiongen_grid_regionGenGridRegionGenGridRegiongen_grid_region — Erzeugen einer Region aus Linien oder Punkten.
Signatur
Herror gen_grid_region(Hobject* RegionGrid, const Hlong RowSteps, const Hlong ColumnSteps, const char* Type, const Hlong Width, const Hlong Height)
Herror T_gen_grid_region(Hobject* RegionGrid, const Htuple RowSteps, const Htuple ColumnSteps, const Htuple Type, const Htuple Width, const Htuple Height)
void GenGridRegion(HObject* RegionGrid, const HTuple& RowSteps, const HTuple& ColumnSteps, const HTuple& Type, const HTuple& Width, const HTuple& Height)
void HRegion::GenGridRegion(const HTuple& RowSteps, const HTuple& ColumnSteps, const HString& Type, Hlong Width, Hlong Height)
void HRegion::GenGridRegion(Hlong RowSteps, Hlong ColumnSteps, const HString& Type, Hlong Width, Hlong Height)
void HRegion::GenGridRegion(Hlong RowSteps, Hlong ColumnSteps, const char* Type, Hlong Width, Hlong Height)
void HRegion::GenGridRegion(Hlong RowSteps, Hlong ColumnSteps, const wchar_t* Type, Hlong Width, Hlong Height)
(
Nur Windows)
static void HOperatorSet.GenGridRegion(out HObject regionGrid, HTuple rowSteps, HTuple columnSteps, HTuple type, HTuple width, HTuple height)
void HRegion.GenGridRegion(HTuple rowSteps, HTuple columnSteps, string type, int width, int height)
void HRegion.GenGridRegion(int rowSteps, int columnSteps, string type, int width, int height)
Beschreibung
gen_grid_regiongen_grid_regionGenGridRegionGenGridRegiongen_grid_region erzeugt ein Raster,
das aus Linien (TypeTypeTypetypetype = 'lines') oder
Punkten (TypeTypeTypetypetype = 'points') aufgebaut ist.
Bei 'lines' werden durchgezogene Linien bei 'points' nur die
Schnittpunkte der Linien ausgegeben.
Ausgehend von dem Punkt (0,0) bis zum Punkt
(HeightHeightHeightheightheight-1,WidthWidthWidthwidthwidth-1) wird das Raster in der
Schrittweite RowStepsRowStepsRowStepsrowStepsrow_steps in Zeilenrichtung und
ColumnStepsColumnStepsColumnStepscolumnStepscolumn_steps in Spaltenrichtung aufgebaut.
Die Schrittweiten müssen größer als 1 sein.
Ausnahmen sind im Modus 'lines', in dem RowStepsRowStepsRowStepsrowStepsrow_steps bzw.
ColumnStepsColumnStepsColumnStepscolumnStepscolumn_steps auf 0 gesetzt werden kann.
In diesem Fall werden nur Spalten bzw. Zeilen erzeugt.
Achtung
Wird das Muster sehr klein gewählt
(RowStepsRowStepsRowStepsrowStepsrow_steps < 4 or ColumnStepsColumnStepsColumnStepscolumnStepscolumn_steps
< 4), so benötigt die erzeugte Region viel Speicher.
Im Modus 'points' dürfen RowStepsRowStepsRowStepsrowStepsrow_steps
und ColumnStepsColumnStepsColumnStepscolumnStepscolumn_steps nicht auf 0 gesetzt werden.
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
RegionGridRegionGridRegionGridregionGridregion_grid (output_object) region → objectHRegionHObjectHObjectHobject *
Erzeugte Linien/Punkte-Region.
RowStepsRowStepsRowStepsrowStepsrow_steps (input_control) extent.y → HTupleUnion[float, int]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Schrittweite in Zeilenrichtung oder Null.
Default:
10
Wertevorschläge:
0, 2, 3, 4, 5, 7, 10, 15, 20, 30, 50, 100
Wertebereich:
RowSteps
RowSteps
RowSteps
rowSteps
row_steps
(lin)
Minimale Schrittweite:
1
Empfohlene Schrittweite:
10
Restriktion:
RowSteps > 1 || RowSteps == 0
ColumnStepsColumnStepsColumnStepscolumnStepscolumn_steps (input_control) extent.x → HTupleUnion[float, int]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Schrittweite in Spaltenrichtung oder Null.
Default:
10
Wertevorschläge:
0, 2, 3, 4, 5, 7, 10, 15, 20, 30, 50, 100
Wertebereich:
ColumnSteps
ColumnSteps
ColumnSteps
columnSteps
column_steps
(lin)
Minimale Schrittweite:
1
Empfohlene Schrittweite:
10
Restriktion:
ColumnSteps > 1 || ColumnSteps == 0
TypeTypeTypetypetype (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Art des erzeugten Musters.
Default:
'lines'
"lines"
"lines"
"lines"
"lines"
Werteliste:
'lines'"lines""lines""lines""lines", 'points'"points""points""points""points"
WidthWidthWidthwidthwidth (input_control) extent.x → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximale Breite des Musters.
Default:
512
Wertevorschläge:
128, 256, 512, 1024
Wertebereich:
1
≤
Width
Width
Width
width
width
(lin)
Minimale Schrittweite:
1
Empfohlene Schrittweite:
10
HeightHeightHeightheightheight (input_control) extent.y → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximale Höhe des Musters.
Default:
512
Wertevorschläge:
128, 256, 512, 1024
Wertebereich:
1
≤
Height
Height
Height
height
height
(lin)
Minimale Schrittweite:
1
Empfohlene Schrittweite:
10
Beispiel (HDevelop)
read_image(Image,'fabrik')
gen_grid_region(Raster,10,10,'lines',512,512)
reduce_domain(Image,Raster,Mask)
sobel_amp(Mask,GridSobel,'sum_abs',3)
dev_display(GridSobel)
Beispiel (C)
read_image(&Image,"fabrik");
gen_grid_region(&Raster,10,10,"lines",512,512);
reduce_domain(Image,Raster,&Mask);
sobel_amp(Mask,GridSobel,"sum_abs",3);
T_disp_image(GridSobel,WindowHandle);
Beispiel (HDevelop)
read_image(Image,'fabrik')
gen_grid_region(Raster,10,10,'lines',512,512)
reduce_domain(Image,Raster,Mask)
sobel_amp(Mask,GridSobel,'sum_abs',3)
dev_display(GridSobel)
Beispiel (HDevelop)
read_image(Image,'fabrik')
gen_grid_region(Raster,10,10,'lines',512,512)
reduce_domain(Image,Raster,Mask)
sobel_amp(Mask,GridSobel,'sum_abs',3)
dev_display(GridSobel)
Komplexität
Der benötigte Speicher (in Byte) für die Region ist:
O((ImageWidth / ColumnSteps) * (ImageHeight / RowSteps))
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
gen_grid_regiongen_grid_regionGenGridRegionGenGridRegiongen_grid_region den Wert 2 (
H_MSG_TRUE)
.
Andernfalls wird eine Fehlerbehandlung durchgeführt.
Das Clipping am aktuellen Bildformat wird durch
set_system('clip_region',<'true'/'false'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)set_system("clip_region",<"true"/"false">) festgelegt.
Nachfolger
reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain,
paint_regionpaint_regionPaintRegionPaintRegionpaint_region
Alternativen
gen_region_linegen_region_lineGenRegionLineGenRegionLinegen_region_line,
gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygongen_region_polygon,
gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsgen_region_points,
gen_region_runsgen_region_runsGenRegionRunsGenRegionRunsgen_region_runs
Siehe auch
gen_checker_regiongen_checker_regionGenCheckerRegionGenCheckerRegiongen_checker_region,
reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain
Modul
Foundation