Name
paint_xldpaint_xldPaintXldpaint_xldPaintXldPaintXld — Zeichnet XLD-Objekte in ein Bild ein.
void HOperatorSetX.PaintXld(
[in] IHUntypedObjectX* XLD, [in] IHUntypedObjectX* Image, [out] IHUntypedObjectX** ImageResult, [in] VARIANT Grayval)
IHImageX* HImageX.PaintXld(
[in] IHXLDX* XLD, [in] VARIANT Grayval)
IHImageX* HXLDX.PaintXld(
[in] IHImageX* Image, [in] VARIANT Grayval)
IHImageX* HXLDContX.PaintXld(
[in] IHImageX* Image, [in] VARIANT Grayval)
IHImageX* HXLDPolyX.PaintXld(
[in] IHImageX* Image, [in] VARIANT Grayval)
IHImageX* HXLDParaX.PaintXld(
[in] IHImageX* Image, [in] VARIANT Grayval)
IHImageX* HXLDModParaX.PaintXld(
[in] IHImageX* Image, [in] VARIANT Grayval)
IHImageX* HXLDExtParaX.PaintXld(
[in] IHImageX* Image, [in] VARIANT Grayval)
paint_xldpaint_xldPaintXldpaint_xldPaintXldPaintXld zeichnet die XLD-Objekte XLDXLDXLDXLDXLDXLD vom Typ
Contour oder Polygon in die einzelnen Bildkanäle des
Hintergrundbildes ImageImageImageImageImageimage mit den vorgegebenen Grauwerten
GrayvalGrayvalGrayvalGrayvalGrayvalgrayval ein und liefert das Ergebnis in ImageResultImageResultImageResultImageResultImageResultimageResult
zurück. Offene XLD-Objekte werden zuvor geschlossen und die
eingeschlossene Region gefüllt. Die Ränder der subpixelgenauen
XLD-Objekte werden im Anti-Aliasing-Verfahren auf den Hintergrund
gezeichnet und können nur richtig wiedergegeben werden, wenn sich das
XLD-Objekt nicht selbst schneidet oder sich Segmente berühren.
GrayvalGrayvalGrayvalGrayvalGrayvalgrayval legt den Grauwert fest, mit welchem jedes
XLD-Objekt in den entsprechenden Bildkanal gezeichnet werden soll. Die
Grauwerte können entweder einmal für jeden Bildkanal, geltend für
alle XLD-Objekte, definiert werden, oder für jedes XLD-Objekt und jeden
Bildkanal einzeln. Um Letzteres zu definieren, werden die Kanal-Grauwerte
g zu jedem XLD-Objekt gruppiert und zu einem Tupel entsprechend
der Reihenfolge der XLD-Objekte verknüpft, z.B. für ein dreikanaliges Bild:
[g(channel1,xld1), g(channel2,xld1), g(channel3,xld1), g(channel1,xld2), ... ].
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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
XLD-Objekte, die eingezeichnet werden sollen.
Bild, in das die XLD-Objekte eingezeichnet werden.
Bild, in das die XLD-Objekte eingezeichnet wurden.
Mit diesen Grauwerten werden die XLD-Objekte in
ImageResultImageResultImageResultImageResultImageResultimageResult 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
* Paint colored xld objects into a gray image
* read and copy image to generate a three channel image
read_image(Image1,'green-dot')
copy_image(Image1,Image2)
copy_image(Image1,Image3)
compose3(Image1,Image2,Image3,Image)
* extract subpixel border
threshold_sub_pix(Image1,Border,128)
* select the circle and the arrows
select_obj(Border,circle,14)
select_obj(Border,arrows,16)
concat_obj(circle,arrows,green_dot)
* paint a green circle and white arrows (to paint all
* objects e.g. blue, pass [0,0,255] tuple for GrayVal)
paint_xld(green_dot,Image,ImageResult,[0,255,0,255,255,255])
/* Paint colored xld objects into a gray image */
/* read and copy image to generate a three channel image */
read_image(&Image1,"green-dot");
copy_image(Image1,&Image2);
copy_image(Image1,&Image3);
compose3(Image1,Image2,Image3,&Image);
/* extract subpixel border */
threshold_sub_pix(Image1,&Border,128);
/* select the circle and the arrows */
select_obj(Border,&circle,14);
select_obj(Border,&arrows,16);
concat_obj(circle,arrows,&green_dot);
/* paint a green circle and white arrows,
* therefore define tuple grayval:=[0,255,0,255,255,255].
* (to paint all objects e.g. blue define grayval:=[0,0,255]) */
T_paint_xld(green_dot,Image,&ImageResult,grayval);
* Paint colored xld objects into a gray image
* read and copy image to generate a three channel image
read_image(Image1,'green-dot')
copy_image(Image1,Image2)
copy_image(Image1,Image3)
compose3(Image1,Image2,Image3,Image)
* extract subpixel border
threshold_sub_pix(Image1,Border,128)
* select the circle and the arrows
select_obj(Border,circle,14)
select_obj(Border,arrows,16)
concat_obj(circle,arrows,green_dot)
* paint a green circle and white arrows (to paint all
* objects e.g. blue, pass [0,0,255] tuple for GrayVal)
paint_xld(green_dot,Image,ImageResult,[0,255,0,255,255,255])
* Paint colored xld objects into a gray image
* read and copy image to generate a three channel image
read_image(Image1,'green-dot')
copy_image(Image1,Image2)
copy_image(Image1,Image3)
compose3(Image1,Image2,Image3,Image)
* extract subpixel border
threshold_sub_pix(Image1,Border,128)
* select the circle and the arrows
select_obj(Border,circle,14)
select_obj(Border,arrows,16)
concat_obj(circle,arrows,green_dot)
* paint a green circle and white arrows (to paint all
* objects e.g. blue, pass [0,0,255] tuple for GrayVal)
paint_xld(green_dot,Image,ImageResult,[0,255,0,255,255,255])
* Paint colored xld objects into a gray image
* read and copy image to generate a three channel image
read_image(Image1,'green-dot')
copy_image(Image1,Image2)
copy_image(Image1,Image3)
compose3(Image1,Image2,Image3,Image)
* extract subpixel border
threshold_sub_pix(Image1,Border,128)
* select the circle and the arrows
select_obj(Border,circle,14)
select_obj(Border,arrows,16)
concat_obj(circle,arrows,green_dot)
* paint a green circle and white arrows (to paint all
* objects e.g. blue, pass [0,0,255] tuple for GrayVal)
paint_xld(green_dot,Image,ImageResult,[0,255,0,255,255,255])
* Paint colored xld objects into a gray image
* read and copy image to generate a three channel image
read_image(Image1,'green-dot')
copy_image(Image1,Image2)
copy_image(Image1,Image3)
compose3(Image1,Image2,Image3,Image)
* extract subpixel border
threshold_sub_pix(Image1,Border,128)
* select the circle and the arrows
select_obj(Border,circle,14)
select_obj(Border,arrows,16)
concat_obj(circle,arrows,green_dot)
* paint a green circle and white arrows (to paint all
* objects e.g. blue, pass [0,0,255] tuple for GrayVal)
paint_xld(green_dot,Image,ImageResult,[0,255,0,255,255,255])
Sind die Parameterwerte korrekt, dann liefert
paint_xldpaint_xldPaintXldpaint_xldPaintXldPaintXld den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer
Eingabe (keine Eingabe-XLD-Objekte vorhanden) lässt sich mittels
set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
read_imageread_imageReadImageread_imageReadImageReadImage,
gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst,
gen_image_protogen_image_protoGenImageProtogen_image_protoGenImageProtoGenImageProto,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld,
threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix
set_grayvalset_grayvalSetGrayvalset_grayvalSetGrayvalSetGrayval,
paint_graypaint_grayPaintGraypaint_grayPaintGrayPaintGray,
paint_regionpaint_regionPaintRegionpaint_regionPaintRegionPaintRegion
gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst
Foundation