| Operatoren |
interleave_channels — Erzeugen eines verschachtelten Bildes aus einem Mehrkanalbild.
interleave_channels(MultichannelImage : InterleavedImage : PixelFormat, RowBytes, Alpha : )
Der Operator interleave_channels erzeugt das verschachtelte Bild InterleavedImage aus dem drei- oder vierkanaligen MultichannelImage. Das ist hilfreich um ein Farbbild für die Darstellung vorzubereiten, z.B. um es in ein .NET Bitmap zu konvertieren.
Das Format der Pixel von InterleavedImage wird mit PixelFormat festgelegt. Mögliche Formate sind 'rgb', 'rgba', 'argb', 'bgr', 'bgra' und 'abgr', wobei 'a' für den vierten ('Alpha') Kanal steht. Im Gegensatz zu gen_image_interleaved wird dabei LittleEndian als Byteordnung angenommen.
Der Alphakanal wird auf folgende Art und Weise bestimmt:
| Kanäle | Domäne | |
|---|---|---|
| 3 | nicht vorhanden/voll | Der Wert von Alpha wird für das gesamte Bild verwendet. |
| 3 | eingeschränkt | Innerhalb der Domäne: Alpha wird auf Alpha 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 Alpha werden ignoriert. |
Die Anzahl der Bytes zwischen dem Anfang von zwei Zeilen im Ausgabebild kann mit RowBytes bestimmt werden. So können zum Beispiel Ausrichtungskriterien erfüllt werden. Werden keine Füllbytes benötigt, kann RowBytes auf 'match' gesetzt werden. RowBytes muss mindestens so groß sein wie die Anzahl der Bytes in PixelFormat mal der Breite von MultichannelImage.
Mehrkanaliges Eingabebild.
Verschränktes Ausgabebild.
Zielformat für InterleavedImage.
Defaultwert: 'rgba'
Werteliste: 'abgr', 'argb', 'bgr', 'bgra', 'rgb', 'rgba'
Anzahl der Bytes in einer Zeile von InterleavedImage.
Defaultwert: 'match'
Wertevorschläge: 'match'
Alphawert für dreikanalige Eingabebilder.
Defaultwert: 255
Wertevorschläge: 255, 0
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;
Foundation
| Operatoren |