KlassenKlassenKlassenKlassen | | | | Operatoren

overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion (Operator)

Name

overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion — Zeichnet Regionen in ein Bild ein.

Signatur

overpaint_region(Image, Region : : Grayval, Type : )

Herror overpaint_region(const Hobject Image, const Hobject Region, double Grayval, const char* Type)

Herror T_overpaint_region(const Hobject Image, const Hobject Region, const Htuple Grayval, const Htuple Type)

Herror overpaint_region(Hobject Image, Hobject Region, const HTuple& Grayval, const HTuple& Type)

void HImage::OverpaintRegion(const HRegion& Region, const HTuple& Grayval, const HTuple& Type) const

void OverpaintRegion(const HObject& Image, const HObject& Region, const HTuple& Grayval, const HTuple& Type)

void HImage::OverpaintRegion(const HRegion& Region, const HTuple& Grayval, const HString& Type) const

void HImage::OverpaintRegion(const HRegion& Region, double Grayval, const HString& Type) const

void HImage::OverpaintRegion(const HRegion& Region, double Grayval, const char* Type) const

void HRegion::OverpaintRegion(const HImage& Image, const HTuple& Grayval, const HString& Type) const

void HRegion::OverpaintRegion(const HImage& Image, double Grayval, const HString& Type) const

void HRegion::OverpaintRegion(const HImage& Image, double Grayval, const char* Type) const

void HOperatorSetX.OverpaintRegion(
[in] IHUntypedObjectX* Image, [in] IHUntypedObjectX* Region, [in] VARIANT Grayval, [in] VARIANT Type)

void HImageX.OverpaintRegion(
[in] IHRegionX* Region, [in] VARIANT Grayval, [in] BSTR Type)

void HRegionX.OverpaintRegion(
[in] IHImageX* Image, [in] VARIANT Grayval, [in] BSTR Type)

static void HOperatorSet.OverpaintRegion(HObject image, HObject region, HTuple grayval, HTuple type)

void HImage.OverpaintRegion(HRegion region, HTuple grayval, string type)

void HImage.OverpaintRegion(HRegion region, double grayval, string type)

void HRegion.OverpaintRegion(HImage image, HTuple grayval, string type)

void HRegion.OverpaintRegion(HImage image, double grayval, string type)

Beschreibung

overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion zeichnet die Regionen aus RegionRegionRegionRegionRegionregion in das Bild ImageImageImageImageImageimage mit den vorgegebenen Grauwerten GrayvalGrayvalGrayvalGrayvalGrayvalgrayval ein. 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 Bild 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 TypeTypeTypeTypeTypetype gibt an, ob die Regionen ausgefüllt ('fill'"fill""fill""fill""fill""fill") oder nur der Rand ('margin'"margin""margin""margin""margin""margin") eingetragen werden soll.

Als Alternative zu overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion zeichnet der Operator paint_regionpaint_regionPaintRegionpaint_regionPaintRegionPaintRegion die Regionen nicht direkt in ImageImageImageImageImageimage ein, sondern gibt das Ergebnis in einem neu erzeugten Bild zurück.

Achtung

overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion verändert den Inhalt eines bereits bestehenden Bildes (ImageImageImageImageImageimage). Zudem können aber auch andere Bildobjekte betroffen sein: Wenn man z.B. ImageImageImageImageImageimage mit Hilfe von copy_objcopy_objCopyObjcopy_objCopyObjCopyObj aus einem anderen Bildobjekt erzeugt hat (oder umgekehrt), wird auch dessen Bildmatrix überschrieben. Deshalb sollte overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion nur zum Einzeichnen in neu erzeugte Bildobjekte verwendet werden. Typische Operatoren hierfür sind z.B. gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst (erzeugt ein neues Bild mit angegebener Größe), gen_image_protogen_image_protoGenImageProtogen_image_protoGenImageProtoGenImageProto (erzeugt ein Bild mit der Größe eines angegebenen Prototyp-Bildes) oder copy_imagecopy_imageCopyImagecopy_imageCopyImageCopyImage (erzeugt ein Bild als Kopie eines angegebenen Bildes).

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

ImageImageImageImageImageimage (input_object, Zustand wird modifiziert)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex)

Bild, in das die Regionen eingezeichnet werden.

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen, die eingezeichnet werden soll.

GrayvalGrayvalGrayvalGrayvalGrayvalgrayval (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Mit diesen Grauwerten werden die Regionen in ImageImageImageImageImageimage 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

TypeTypeTypeTypeTypetype (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Regionen ausfüllen oder nur den Rand eintragen.

Defaultwert: 'fill' "fill" "fill" "fill" "fill" "fill"

Werteliste: 'fill'"fill""fill""fill""fill""fill", 'margin'"margin""margin""margin""margin""margin"

Beispiel (HDevelop)

* Paint a rectangle into a new image (New1)

gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')

Beispiel (C)

/* Paint a rectangle into a new image (New1) */

gen_rectangle1(&Rectangle,100.0,100.0,300.0,300.0);
/* generate a black image */
gen_image_const(&New1,"byte", 768, 576)
/* paint a white rectangle */
overpaint_region(New1,Rectangle,255.0,"fill");

Beispiel (HDevelop)

* Paint a rectangle into a new image (New1)

gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')

Beispiel (HDevelop)

* Paint a rectangle into a new image (New1)

gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')

Beispiel (HDevelop)

* Paint a rectangle into a new image (New1)

gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')

Beispiel (HDevelop)

* Paint a rectangle into a new image (New1)

gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')

Ergebnis

Sind die Parameterwerte korrekt, dann liefert overpaint_regionoverpaint_regionOverpaintRegionoverpaint_regionOverpaintRegionOverpaintRegion 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>)set_system("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_imageReadImageread_imageReadImageReadImage, gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst, gen_image_protogen_image_protoGenImageProtogen_image_protoGenImageProtoGenImageProto, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Alternativen

set_grayvalset_grayvalSetGrayvalset_grayvalSetGrayvalSetGrayval, paint_regionpaint_regionPaintRegionpaint_regionPaintRegionPaintRegion, paint_xldpaint_xldPaintXldpaint_xldPaintXldPaintXld

Siehe auch

reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, set_drawset_drawSetDrawset_drawSetDrawSetDraw, paint_graypaint_grayPaintGraypaint_grayPaintGrayPaintGray, overpaint_grayoverpaint_grayOverpaintGrayoverpaint_grayOverpaintGrayOverpaintGray, gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren