paint_regionpaint_regionPaintRegionPaintRegion (Operator)
Name
paint_regionpaint_regionPaintRegionPaintRegion
— Zeichnet Regionen in ein Bild ein.
Signatur
void PaintRegion(const HObject& Region, const HObject& Image, HObject* ImageResult, const HTuple& Grayval, const HTuple& Type)
HImage HImage::PaintRegion(const HRegion& Region, const HTuple& Grayval, const HString& Type) const
HImage HImage::PaintRegion(const HRegion& Region, double Grayval, const HString& Type) const
HImage HImage::PaintRegion(const HRegion& Region, double Grayval, const char* Type) const
HImage HImage::PaintRegion(const HRegion& Region, double Grayval, const wchar_t* Type) const
(Nur Windows)
HImage HRegion::PaintRegion(const HImage& Image, const HTuple& Grayval, const HString& Type) const
HImage HRegion::PaintRegion(const HImage& Image, double Grayval, const HString& Type) const
HImage HRegion::PaintRegion(const HImage& Image, double Grayval, const char* Type) const
HImage HRegion::PaintRegion(const HImage& Image, double Grayval, const wchar_t* Type) const
(Nur Windows)
static void HOperatorSet.PaintRegion(HObject region, HObject image, out HObject imageResult, HTuple grayval, HTuple type)
HImage HImage.PaintRegion(HRegion region, HTuple grayval, string type)
HImage HImage.PaintRegion(HRegion region, double grayval, string type)
HImage HRegion.PaintRegion(HImage image, HTuple grayval, string type)
HImage HRegion.PaintRegion(HImage image, double grayval, string type)
Beschreibung
paint_regionpaint_regionPaintRegionPaintRegionPaintRegion
zeichnet die Regionen aus RegionRegionRegionRegionregion
in das Bild
ImageImageImageImageimage
mit den vorgegebenen Grauwerten GrayvalGrayvalGrayvalGrayvalgrayval
ein und
liefert das Ergebnis in ImageResultImageResultImageResultImageResultimageResult
zurück. Die Grauwerte können
entweder einmal für jeden Bildkanal, geltend für alle Regionen, definiert
werden, oder für jede Region und jeden Bildkanal einzeln. Um Letzteres zu
definieren, werden die Kanal-Grauwerte g zu jeder Region
gruppiert und zu einem Tupel entsprechend der Reihenfolge der Regionen
verknüpft, z.B. für ein dreikanaliges Bild:
[g(channel1,region1), g(channel2,region1), g(channel3,region1), g(channel1,region2), ... ].
Ist das Eingabebild vom Typ 'direction', werden Grauwerte, die nicht
innerhalb des für 'direction'-Bilder erlaubten Wertebereichs liegen,
auf den Wert 255 gesetzt, um sie als ungültig zu kennzeichnen.
Der Parameter TypeTypeTypeTypetype
gibt an, ob die Regionen ausgefüllt
('fill'"fill""fill""fill""fill") oder nur der Rand ('margin'"margin""margin""margin""margin") eingetragen werden
soll.
Als Alternative zu paint_regionpaint_regionPaintRegionPaintRegionPaintRegion
zeichnet der Operator
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegion
die Regionen direkt in ImageImageImageImageimage
ein.
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
RegionRegionRegionRegionregion
(input_object) region(-array) →
objectHRegionHRegionHobject
Regionen, die eingezeichnet werden sollen.
ImageImageImageImageimage
(input_object) (multichannel-)image →
objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex)
Bild, in das die Regionen eingezeichnet werden.
ImageResultImageResultImageResultImageResultimageResult
(output_object) image →
objectHImageHImageHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex)
Bild, in das die Regionen eingezeichnet wurden.
GrayvalGrayvalGrayvalGrayvalgrayval
(input_control) number(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Mit diesen Grauwerten werden die Regionen in
ImageResultImageResultImageResultImageResultimageResult
eingetragen.
Defaultwert: 255.0
Wertevorschläge: 0.0, 1.0, 2.0, 5.0, 10.0, 16.0, 32.0, 64.0, 128.0, 253.0, 254.0, 255.0
TypeTypeTypeTypetype
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Regionen ausfüllen oder nur den Rand eintragen.
Defaultwert:
'fill'
"fill"
"fill"
"fill"
"fill"
Werteliste: 'fill'"fill""fill""fill""fill", 'margin'"margin""margin""margin""margin"
Beispiel (HDevelop)
* Paint a rectangle into the image 'monkey'
read_image(Image,'monkey')
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* paint a white rectangle
paint_region(Rectangle,Image,ImageResult,255.0,'fill')
Beispiel (C)
/* Paint a rectangle into the image 'monkey' */
read_image(&Image,"monkey");
gen_rectangle1(&Rectangle,100.0,100.0,300.0,300.0);
/* paint a white rectangle */
paint_region(Rectangle,Image,&ImageResult,255.0,"fill");
Beispiel (HDevelop)
* Paint a rectangle into the image 'monkey'
read_image(Image,'monkey')
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* paint a white rectangle
paint_region(Rectangle,Image,ImageResult,255.0,'fill')
Beispiel (HDevelop)
* Paint a rectangle into the image 'monkey'
read_image(Image,'monkey')
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* paint a white rectangle
paint_region(Rectangle,Image,ImageResult,255.0,'fill')
Beispiel (HDevelop)
* Paint a rectangle into the image 'monkey'
read_image(Image,'monkey')
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* paint a white rectangle
paint_region(Rectangle,Image,ImageResult,255.0,'fill')
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
paint_regionpaint_regionPaintRegionPaintRegionPaintRegion
den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer
Eingabe (keine Eingaberegionen vorhanden) lässt sich mittels
set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
read_imageread_imageReadImageReadImageReadImage
,
gen_image_constgen_image_constGenImageConstGenImageConstGenImageConst
,
gen_image_protogen_image_protoGenImageProtoGenImageProtoGenImageProto
,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain
Alternativen
set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval
,
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegion
,
paint_xldpaint_xldPaintXldPaintXldPaintXld
Siehe auch
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain
,
paint_graypaint_grayPaintGrayPaintGrayPaintGray
,
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGray
,
set_drawset_drawSetDrawSetDrawSetDraw
,
gen_image_constgen_image_constGenImageConstGenImageConstGenImageConst
Modul
Foundation