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 (input_object) region(-array) → object
Region die zerlegt werden soll.
Partitioned (output_object) region-array → object
Zerlegte Region.
Distance (input_control) real → (real)
Genäherte Breite der resultierenden Teilregionen.
Percent (input_control) real → (real)
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 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',<'2 (H_MSG_TRUE)'/'3 (H_MSG_FALSE)'>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
intersection,
smallest_rectangle1,
shape_trans,
clip_region
Foundation