KlassenKlassenKlassenKlassen | | | | Operatoren

interleave_channelsinterleave_channelsInterleaveChannelsinterleave_channelsInterleaveChannelsInterleaveChannels (Operator)

Name

interleave_channelsinterleave_channelsInterleaveChannelsinterleave_channelsInterleaveChannelsInterleaveChannels — Erzeugen eines verschachtelten Bildes aus einem Mehrkanalbild.

Signatur

interleave_channels(MultichannelImage : InterleavedImage : PixelFormat, RowBytes, Alpha : )

Herror interleave_channels(const Hobject MultichannelImage, Hobject* InterleavedImage, const char* PixelFormat, const char* RowBytes, const Hlong Alpha)

Herror T_interleave_channels(const Hobject MultichannelImage, Hobject* InterleavedImage, const Htuple PixelFormat, const Htuple RowBytes, const Htuple Alpha)

Herror interleave_channels(Hobject MultichannelImage, Hobject* InterleavedImage, const HTuple& PixelFormat, const HTuple& RowBytes, const HTuple& Alpha)

HImage HImage::InterleaveChannels(const HTuple& PixelFormat, const HTuple& RowBytes, const HTuple& Alpha) const

void InterleaveChannels(const HObject& MultichannelImage, HObject* InterleavedImage, const HTuple& PixelFormat, const HTuple& RowBytes, const HTuple& Alpha)

HImage HImage::InterleaveChannels(const HString& PixelFormat, const HTuple& RowBytes, Hlong Alpha) const

HImage HImage::InterleaveChannels(const HString& PixelFormat, const HString& RowBytes, Hlong Alpha) const

HImage HImage::InterleaveChannels(const char* PixelFormat, const char* RowBytes, Hlong Alpha) const

void HOperatorSetX.InterleaveChannels(
[in] IHUntypedObjectX* MultichannelImage, [out] IHUntypedObjectX*InterleavedImage, [in] VARIANT PixelFormat, [in] VARIANT RowBytes, [in] VARIANT Alpha)

IHImageX* HImageX.InterleaveChannels(
[in] BSTR PixelFormat, [in] VARIANT RowBytes, [in] Hlong Alpha)

static void HOperatorSet.InterleaveChannels(HObject multichannelImage, out HObject interleavedImage, HTuple pixelFormat, HTuple rowBytes, HTuple alpha)

HImage HImage.InterleaveChannels(string pixelFormat, HTuple rowBytes, int alpha)

HImage HImage.InterleaveChannels(string pixelFormat, string rowBytes, int alpha)

Beschreibung

Der Operator interleave_channelsinterleave_channelsInterleaveChannelsinterleave_channelsInterleaveChannelsInterleaveChannels erzeugt das verschachtelte Bild InterleavedImageInterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImage aus dem drei- oder vierkanaligen MultichannelImageMultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage. Das ist hilfreich um ein Farbbild für die Darstellung vorzubereiten, z.B. um es in ein .NET Bitmap zu konvertieren.

Pixelformat

Das Format der Pixel von InterleavedImageInterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImage wird mit PixelFormatPixelFormatPixelFormatPixelFormatPixelFormatpixelFormat festgelegt. Mögliche Formate sind 'rgb'"rgb""rgb""rgb""rgb""rgb", 'rgba'"rgba""rgba""rgba""rgba""rgba", 'argb'"argb""argb""argb""argb""argb", 'bgr'"bgr""bgr""bgr""bgr""bgr", 'bgra'"bgra""bgra""bgra""bgra""bgra" und 'abgr'"abgr""abgr""abgr""abgr""abgr", wobei 'a' für den vierten ('Alpha') Kanal steht. Im Gegensatz zu gen_image_interleavedgen_image_interleavedGenImageInterleavedgen_image_interleavedGenImageInterleavedGenImageInterleaved wird dabei LittleEndian als Byteordnung angenommen.

Alphakanal

Der Alphakanal wird auf folgende Art und Weise bestimmt:

Kanäle Domäne
3 nicht vorhanden/voll Der Wert von AlphaAlphaAlphaAlphaAlphaalpha wird für das gesamte Bild verwendet.
3 eingeschränkt Innerhalb der Domäne: Alpha wird auf AlphaAlphaAlphaAlphaAlphaalpha gesetzt. Außerhalb der Domäne: Alpha wird auf Null gesetzt.
4 Alpha wird auf den entsprechenden Wert des vierten Kanals gesetzt, Domäne und AlphaAlphaAlphaAlphaAlphaalpha werden ignoriert.

Zeilenausrichtung

Die Anzahl der Bytes zwischen dem Anfang von zwei Zeilen im Ausgabebild kann mit RowBytesRowBytesRowBytesRowBytesRowBytesrowBytes bestimmt werden. So können zum Beispiel Ausrichtungskriterien erfüllt werden. Werden keine Füllbytes benötigt, kann RowBytesRowBytesRowBytesRowBytesRowBytesrowBytes auf 'match'"match""match""match""match""match" gesetzt werden. RowBytesRowBytesRowBytesRowBytesRowBytesrowBytes muss mindestens so groß sein wie die Anzahl der Bytes in PixelFormatPixelFormatPixelFormatPixelFormatPixelFormatpixelFormat mal der Breite von MultichannelImageMultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage.

Parallelisierung

Parameter

MultichannelImageMultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage (input_object)  multichannel-image objectHImageHImageHImageHImageXHobject (byte)

Mehrkanaliges Eingabebild.

InterleavedImageInterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImage (output_object)  singlechannelimage objectHImageHImageHImageHImageXHobject * (byte)

Verschränktes Ausgabebild.

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

Zielformat für InterleavedImage.

Defaultwert: 'rgba' "rgba" "rgba" "rgba" "rgba" "rgba"

Werteliste: 'abgr'"abgr""abgr""abgr""abgr""abgr", 'argb'"argb""argb""argb""argb""argb", 'bgr'"bgr""bgr""bgr""bgr""bgr", 'bgra'"bgra""bgra""bgra""bgra""bgra", 'rgb'"rgb""rgb""rgb""rgb""rgb", 'rgba'"rgba""rgba""rgba""rgba""rgba"

RowBytesRowBytesRowBytesRowBytesRowBytesrowBytes (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Anzahl der Bytes in einer Zeile von InterleavedImage.

Defaultwert: 'match' "match" "match" "match" "match" "match"

Wertevorschläge: 'match'"match""match""match""match""match"

AlphaAlphaAlphaAlphaAlphaalpha (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Alphawert für dreikanalige Eingabebilder.

Defaultwert: 255

Wertevorschläge: 255, 0

Beispiel (C#)

  HTuple type, width, height;
  HImage patras = new HImage("patras");

  HImage interleaved = patras.InterleaveChannels("argb", "match", 255);
  IntPtr ptr = interleaved.GetImagePointer1(out type, out width, out height);
          
  Image img = new Bitmap(width/4, height, width,
                         PixelFormat.Format32bppArgb, ptr);

  pictureBox.Image = img;
	

Siehe auch

gen_image_interleavedgen_image_interleavedGenImageInterleavedgen_image_interleavedGenImageInterleavedGenImageInterleaved

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren