interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannels (Operator)

Name

interleave_channelsinterleave_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)

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

HImage HImage::InterleaveChannels(const wchar_t* PixelFormat, const wchar_t* RowBytes, Hlong Alpha) const   (Nur Windows)

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_channelsInterleaveChannelsInterleaveChannelsInterleaveChannels erzeugt das verschachtelte Bild InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImage aus dem drei- oder vierkanaligen MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage. 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 InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImage wird mit PixelFormatPixelFormatPixelFormatPixelFormatpixelFormat festgelegt. Mögliche Formate sind 'rgb'"rgb""rgb""rgb""rgb", 'rgba'"rgba""rgba""rgba""rgba", 'argb'"argb""argb""argb""argb", 'bgr'"bgr""bgr""bgr""bgr", 'bgra'"bgra""bgra""bgra""bgra" und 'abgr'"abgr""abgr""abgr""abgr", wobei 'a' für den vierten ('Alpha') Kanal steht. Im Gegensatz zu gen_image_interleavedgen_image_interleavedGenImageInterleavedGenImageInterleavedGenImageInterleaved 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 AlphaAlphaAlphaAlphaalpha wird für das gesamte Bild verwendet.
3 eingeschränkt Innerhalb der Domäne: Alpha wird auf AlphaAlphaAlphaAlphaalpha 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 AlphaAlphaAlphaAlphaalpha werden ignoriert.

Zeilenausrichtung

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

Ausführungsinformationen

Parameter

MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage (input_object)  multichannel-image objectHImageHImageHobject (byte)

Mehrkanaliges Eingabebild.

InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImage (output_object)  singlechannelimage objectHImageHImageHobject * (byte)

Verschränktes Ausgabebild.

PixelFormatPixelFormatPixelFormatPixelFormatpixelFormat (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Zielformat für InterleavedImage.

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

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

RowBytesRowBytesRowBytesRowBytesrowBytes (input_control)  integer HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Anzahl der Bytes in einer Zeile von InterleavedImage.

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

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

AlphaAlphaAlphaAlphaalpha (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (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_interleavedGenImageInterleavedGenImageInterleavedGenImageInterleaved

Modul

Foundation