interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannelsinterleave_channels (Operator)
Name
interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannelsinterleave_channels — Erzeugen eines verschachtelten Bildes aus einem Mehrkanalbild.
Signatur
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)
Beschreibung
Der Operator interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannelsInterleaveChannelsinterleave_channels erzeugt das verschachtelte Bild
InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImageinterleaved_image aus dem drei- oder vierkanaligen
MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image. 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 InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImageinterleaved_image wird mit
PixelFormatPixelFormatPixelFormatPixelFormatpixelFormatpixel_format 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_interleavedGenImageInterleavedGenImageInterleavedGenImageInterleavedgen_image_interleaved wird dabei LittleEndian als
Byteordnung angenommen.
Alphakanal
Der Alphakanal wird auf folgende Art und Weise bestimmt:
Zeilenausrichtung
Die Anzahl der Bytes zwischen dem Anfang von zwei Zeilen im Ausgabebild
kann mit RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes bestimmt werden. So können zum Beispiel
Ausrichtungskriterien erfüllt werden.
Werden keine Füllbytes benötigt, kann RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes auf 'match'"match""match""match""match""match"
gesetzt werden. RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes muss mindestens so groß sein wie die
Anzahl der Bytes in PixelFormatPixelFormatPixelFormatPixelFormatpixelFormatpixel_format mal der Breite von
MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Parameter
MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image (input_object) multichannel-image → objectHImageHObjectHImageHobject (byte)
Mehrkanaliges Eingabebild.
InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImageinterleaved_image (output_object) singlechannelimage → objectHImageHObjectHImageHobject * (byte)
Verschränktes Ausgabebild.
PixelFormatPixelFormatPixelFormatPixelFormatpixelFormatpixel_format (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (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"
RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes (input_control) integer → HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / 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 → HTupleintHTupleHtuple (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_interleavedGenImageInterleavedGenImageInterleavedGenImageInterleavedgen_image_interleaved
Modul
Foundation