ImageGear21.Core Assembly > ImageGear.Processing Namespace > ImGearRasterProcessing Class : CombineChannels Method |
'Declaration Public Shared Function CombineChannels( _ ByVal space As ImGearColorSpace, _ ByVal channels() As ImGearChannelRef _ ) As ImGearRasterPage
'Usage Dim space As ImGearColorSpace Dim channels() As ImGearChannelRef Dim value As ImGearRasterPage value = ImGearRasterProcessing.CombineChannels(space, channels)
public static ImGearRasterPage CombineChannels( ImGearColorSpace space, ImGearChannelRef[] channels )
public: static ImGearRasterPage* CombineChannels( ImGearColorSpace space, ImGearChannelRef[]* channels )
public: static ImGearRasterPage^ CombineChannels( ImGearColorSpace space, array<ImGearChannelRef>^ channels )
space
parameter. This method does not do any color space or pixel conversions, it merely merges pixel data from different channels together. The number of channel pages should be compatible with the destination color space. Each Page in ChannelPages array must have exactly one channel. All pages must have the same BitsPerChannel and dimensions.// Separate original image into separate images for each channel. ImGearChannelRef[] igChannelRefOriginal = ImGearRasterProcessing.SeparateChannels(igRasterPage); // Save what the colorspace was of the image. ImGearColorSpaceIDs igColorSpaceID = igRasterPage.DIB.ColorSpace.Value; // Create a blank image with the same attributes as the original image. ImGearRasterPage igRasterPageNew = new ImGearRasterPage( igRasterPage.DIB.Width, igRasterPage.DIB.Height, new ImGearColorSpace(igColorSpaceID), (int[])igRasterPage.DIB.ChannelDepths.Clone(), true); // Separate new image into separate images for each channel. ImGearChannelRef[] igChannelRefNew = ImGearRasterProcessing.SeparateChannels(igRasterPageNew); // Update the first channel of the new image from the original image. ImGearRasterProcessing.UpdateChannelFrom(igChannelRefNew[0], igChannelRefOriginal[0]); // Combine channels back into new image. igRasterPageNew = ImGearRasterProcessing.CombineChannels( new ImGearColorSpace(igColorSpaceID), igChannelRefNew);
' Separate original image into separate images for each channel. Dim igChannelRefOriginal As ImGearChannelRef() = ImGearRasterProcessing.SeparateChannels(igRasterPage) ' Save what the colorspace was of the image. Dim igColorSpaceID As ImGearColorSpaceIDs = igRasterPage.DIB.ColorSpace.Value ' Create a blank image with the same attributes as the original image. Dim igRasterPageNew As New ImGearRasterPage( _ igRasterPage.DIB.Width, igRasterPage.DIB.Height, New ImGearColorSpace(igColorSpaceID), _ DirectCast(igRasterPage.DIB.ChannelDepths.Clone(), Integer()), True) ' Separate new image into separate images for each channel. Dim igChannelRefNew As ImGearChannelRef() = ImGearRasterProcessing.SeparateChannels(igRasterPageNew) ' Update the first channel of the new image from the original image. ImGearRasterProcessing.UpdateChannelFrom(igChannelRefNew(0), igChannelRefOriginal(0)) ' Combine channels back into new image. igRasterPageNew = ImGearRasterProcessing.CombineChannels(New ImGearColorSpace(igColorSpaceID), igChannelRefNew)