| Operatoren |
partition_dynamic — Horizontales Teilen einer Region an Stellen mit geringer vertikaler Ausdehnung.
partition_dynamic(Region : Partitioned : Distance, Percent : )
partition_dynamic zerlegt die Eingaberegion Region horizontal in Teilregionen, die etwa die Breite Distance haben. Die Eingaberegion wird dabei an Stellen aufgeschnitten, die eine relativ kleine vertikale Ausdehnung haben.
Die Positionen, an denen die Eingaberegion aufgeschnitten wird werden auf folgende Weise bestimmt: Zuerst werden vorläufige Positionen bestimmt, die gleichabständig über die gesamte Breite der Eingaberegion verteilt sind, d.h., alle resultierenden Teilregionen wären gleich breit. Hierfür wird die Anzahl n der resultierenden Teilregionen bestimmt, indem die Breite der Eingaberegion durch Distance geteilt und das Ergebnis auf die nächste Ganzzahl gerundet wird. Der Abstand zwischen den vorläufigen Positionen ist das Ergebnis der Division der Breite der Eingaberegion durch n. Beachten Sie, dass der Abstand zwischen den vorläufigen Positionen typischerweise nicht mit Distance identisch ist. Die endgültigen Positionen, an denen die Eingaberegion aufgeschnitten wird werden nun in der Umgebung der vorläufigen Positionen so bestimmt, dass die Eingaberegion an Stellen aufgeschnitten wird, an der sie die geringste vertikale Ausdehnung innerhalb dieser Umgebung hat. Die maximale Verschiebung der endgültigen Position gegenüber der vorläufigen Position ist Distance*Percent*0.01.
Die resultierenden Teilregionen werden in Partitioned zurückgegeben. Beachten Sie, dass die Eingaberegion nur dann geteilt wird, wenn ihre Breite größer als 1.5 mal Distance ist.
Region die zerlegt werden soll.
Zerlegte Region.
Genäherte Breite der resultierenden Teilregionen.
Maximale prozentuale Verschiebung der Positionen an denen die Eingaberegion geteilt wird.
Defaultwert: 20
Wertevorschläge: 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 70.0, 90.0, 100.0
Typischer Wertebereich: 0 ≤ Percent ≤ 100
partition_dynamic liefert normalerweise den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system('no_object_result',<Result>), das bei leerer Region mit set_system('empty_region_result',<Result>), das bei leerer Ergebnisregion mit set_system('store_empty_region',<'true'/'false'>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
intersection, smallest_rectangle1, shape_trans, clip_region
Foundation
| Operatoren |