ImageAttributes.SetOutputChannel Método

Definição

Define o canal de saída CMYK (ciano-magenta-amarelo-preto).Sets the CMYK (cyan-magenta-yellow-black) output channel.

Sobrecargas

SetOutputChannel(ColorChannelFlag)

Define o canal de saída CMYK (ciano-magenta-amarelo-preto) para a categoria padrão.Sets the CMYK (cyan-magenta-yellow-black) output channel for the default category.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Define o canal de saída CMYK (ciano-magenta-amarelo-preto) para uma categoria especificada.Sets the CMYK (cyan-magenta-yellow-black) output channel for a specified category.

SetOutputChannel(ColorChannelFlag)

Define o canal de saída CMYK (ciano-magenta-amarelo-preto) para a categoria padrão.Sets the CMYK (cyan-magenta-yellow-black) output channel for the default category.

public:
 void SetOutputChannel(System::Drawing::Imaging::ColorChannelFlag flags);
public void SetOutputChannel (System.Drawing.Imaging.ColorChannelFlag flags);
member this.SetOutputChannel : System.Drawing.Imaging.ColorChannelFlag -> unit
Public Sub SetOutputChannel (flags As ColorChannelFlag)

Parâmetros

flags
ColorChannelFlag

Um elemento de ColorChannelFlag que especifica o canal de saída.An element of ColorChannelFlag that specifies the output channel.

Exemplos

O exemplo de código a seguir demonstra como usar o método SetOutputChannel.The following code example demonstrates how to use the SetOutputChannel method. Para executar este exemplo, Cole o código a seguir em um formulário do Windows.To run this example, paste the following code into a Windows Form. Manipule o evento Paint do formulário e chame ShowOutputChannels, passando e como PaintEventArgs.Handle the form's Paint event and call ShowOutputChannels, passing e as PaintEventArgs.

private void ShowOutputChannels(PaintEventArgs e)
{
    //Create a bitmap from a file.
    Bitmap bmp1 = new Bitmap("c:\\fakePhoto.jpg");

    // Create a new bitmap from the original, resizing it for this example.
    Bitmap bmp2 = new Bitmap(bmp1, new Size(80, 80));

    bmp1.Dispose();

    // Create an ImageAttributes object.
    ImageAttributes imgAttributes = new ImageAttributes();

    // Draw the image unaltered.
    e.Graphics.DrawImage(bmp2, 10, 10);

    // Draw the image, showing the intensity of the cyan channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelC,
        System.Drawing.Imaging.ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(bmp2, new Rectangle(100, 10, bmp2.Width, bmp2.Height),
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    // Draw the image, showing the intensity of the magenta channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelM,
        ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(bmp2, new Rectangle(10, 100, bmp2.Width, bmp2.Height),
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    // Draw the image, showing the intensity of the yellow channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelY,
        ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(bmp2, new Rectangle(100, 100, bmp2.Width, bmp2.Height), 0, 0,
        bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    // Draw the image, showing the intensity of the black channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelK,

        System.Drawing.Imaging.ColorAdjustType.Bitmap);
    e.Graphics.DrawImage(bmp2, new Rectangle(10, 190, bmp2.Width, bmp2.Height),
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    //Dispose of the bitmap.
    bmp2.Dispose();
}
Private Sub ShowOutputChannels(ByVal e As PaintEventArgs)

    'Create a bitmap from a file.
    Dim bmp1 As New Bitmap("c:\fakePhoto.jpg")

    ' Create a new bitmap from the original, resizing it for this example.
    Dim bmp2 As New Bitmap(bmp1, New Size(80, 80))

    bmp1.Dispose()

    ' Create an ImageAttributes object.
    Dim imgAttributes As New System.Drawing.Imaging.ImageAttributes()

    ' Draw the image unaltered.
    e.Graphics.DrawImage(bmp2, 10, 10)

    ' Draw the image, showing the intensity of the cyan channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelC, ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(100, 10, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    ' Draw the image, showing the intensity of the magenta channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelM, ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(10, 100, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    ' Draw the image, showing the intensity of the yellow channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelY, _
        ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(100, 100, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    ' Draw the image, showing the intensity of the black channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelK, _
        ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(10, 190, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    'Dispose of the bitmap.
    bmp2.Dispose()

End Sub

Comentários

Você pode usar o método SetOutputChannel para converter uma imagem em um espaço de cores CMYK e examinar as intensidades de um dos canais de cores CMYK.You can use the SetOutputChannel method to convert an image to a CMYK color space and examine the intensities of one of the CMYK color channels. Por exemplo, suponha que você crie um objeto de ImageAttributes e defina seu canal de saída de bitmap para ColorChannelC.For example, suppose you create an ImageAttributes object and set its bitmap output channel to ColorChannelC. Se você passar o caminho do objeto ImageAttributes para o método DrawImage, o componente ciano de cada pixel será calculado e cada pixel na imagem renderizada será um sombreamento cinza que indica a intensidade de seu canal ciano.If you pass the path of that ImageAttributes object to the DrawImage method, the cyan component of each pixel is calculated, and each pixel in the rendered image is a shade of gray that indicates the intensity of its cyan channel. Da mesma forma, você pode renderizar imagens que indicam as intensidades dos canais magenta, amarelo e preto.Similarly, you can render images that indicate the intensities of the magenta, yellow, and black channels.

Um objeto ImageAttributes mantém as configurações de cor e escala de cinza para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto.An ImageAttributes object maintains color and grayscale settings for five adjustment categories: default, bitmap, brush, pen, and text. Por exemplo, você pode especificar um canal de saída para a categoria padrão e um canal de saída diferente para a categoria de bitmap.For example, you can specify an output channel for the default category and a different output channel for the bitmap category.

As configurações padrão de ajuste de cor e ajuste de escala de cinza se aplicam a todas as categorias que não têm suas próprias configurações de ajuste.The default color-adjustment and grayscale-adjustment settings apply to all categories that do not have adjustment settings of their own. Por exemplo, se você nunca especificar configurações de ajuste para a categoria de bitmap, as configurações padrão serão aplicadas à categoria de bitmap.For example, if you never specify any adjustment settings for the bitmap category, the default settings apply to the bitmap category.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Define o canal de saída CMYK (ciano-magenta-amarelo-preto) para uma categoria especificada.Sets the CMYK (cyan-magenta-yellow-black) output channel for a specified category.

public:
 void SetOutputChannel(System::Drawing::Imaging::ColorChannelFlag flags, System::Drawing::Imaging::ColorAdjustType type);
public void SetOutputChannel (System.Drawing.Imaging.ColorChannelFlag flags, System.Drawing.Imaging.ColorAdjustType type);
member this.SetOutputChannel : System.Drawing.Imaging.ColorChannelFlag * System.Drawing.Imaging.ColorAdjustType -> unit
Public Sub SetOutputChannel (flags As ColorChannelFlag, type As ColorAdjustType)

Parâmetros

flags
ColorChannelFlag

Um elemento de ColorChannelFlag que especifica o canal de saída.An element of ColorChannelFlag that specifies the output channel.

type
ColorAdjustType

Um elemento de ColorAdjustType que especifica a categoria para a qual o canal de saída é definido.An element of ColorAdjustType that specifies the category for which the output channel is set.

Exemplos

O exemplo de código a seguir demonstra como usar o método SetOutputChannel.The following code example demonstrates how to use the SetOutputChannel method. Para executar este exemplo, Cole o código a seguir em um formulário do Windows.To run this example, paste the following code into a Windows Form. Manipule o evento Paint do formulário e chame ShowOutputChannels, passando e como PaintEventArgs.Handle the form's Paint event and call ShowOutputChannels, passing e as PaintEventArgs.

private void ShowOutputChannels(PaintEventArgs e)
{
    //Create a bitmap from a file.
    Bitmap bmp1 = new Bitmap("c:\\fakePhoto.jpg");

    // Create a new bitmap from the original, resizing it for this example.
    Bitmap bmp2 = new Bitmap(bmp1, new Size(80, 80));

    bmp1.Dispose();

    // Create an ImageAttributes object.
    ImageAttributes imgAttributes = new ImageAttributes();

    // Draw the image unaltered.
    e.Graphics.DrawImage(bmp2, 10, 10);

    // Draw the image, showing the intensity of the cyan channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelC,
        System.Drawing.Imaging.ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(bmp2, new Rectangle(100, 10, bmp2.Width, bmp2.Height),
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    // Draw the image, showing the intensity of the magenta channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelM,
        ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(bmp2, new Rectangle(10, 100, bmp2.Width, bmp2.Height),
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    // Draw the image, showing the intensity of the yellow channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelY,
        ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(bmp2, new Rectangle(100, 100, bmp2.Width, bmp2.Height), 0, 0,
        bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    // Draw the image, showing the intensity of the black channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelK,

        System.Drawing.Imaging.ColorAdjustType.Bitmap);
    e.Graphics.DrawImage(bmp2, new Rectangle(10, 190, bmp2.Width, bmp2.Height),
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes);

    //Dispose of the bitmap.
    bmp2.Dispose();
}
Private Sub ShowOutputChannels(ByVal e As PaintEventArgs)

    'Create a bitmap from a file.
    Dim bmp1 As New Bitmap("c:\fakePhoto.jpg")

    ' Create a new bitmap from the original, resizing it for this example.
    Dim bmp2 As New Bitmap(bmp1, New Size(80, 80))

    bmp1.Dispose()

    ' Create an ImageAttributes object.
    Dim imgAttributes As New System.Drawing.Imaging.ImageAttributes()

    ' Draw the image unaltered.
    e.Graphics.DrawImage(bmp2, 10, 10)

    ' Draw the image, showing the intensity of the cyan channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelC, ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(100, 10, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    ' Draw the image, showing the intensity of the magenta channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelM, ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(10, 100, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    ' Draw the image, showing the intensity of the yellow channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelY, _
        ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(100, 100, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    ' Draw the image, showing the intensity of the black channel.
    imgAttributes.SetOutputChannel(ColorChannelFlag.ColorChannelK, _
        ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(bmp2, New Rectangle(10, 190, bmp2.Width, bmp2.Height), _
        0, 0, bmp2.Width, bmp2.Height, GraphicsUnit.Pixel, imgAttributes)

    'Dispose of the bitmap.
    bmp2.Dispose()

End Sub

Comentários

Você pode usar o método SetOutputChannel para converter uma imagem em um espaço de cores CMYK e examinar as intensidades de um dos canais de cores CMYK.You can use the SetOutputChannel method to convert an image to a CMYK color space and examine the intensities of one of the CMYK color channels. Por exemplo, suponha que você crie um objeto de ImageAttributes e defina seu canal de saída de bitmap para ColorChannelC.For example, suppose you create an ImageAttributes object and set its bitmap output channel to ColorChannelC. Se você passar o caminho do objeto ImageAttributes para o método DrawImage, o componente ciano de cada pixel será calculado e cada pixel na imagem renderizada será um sombreamento cinza que indica a intensidade de seu canal ciano.If you pass the path of that ImageAttributes object to the DrawImage method, the cyan component of each pixel is calculated, and each pixel in the rendered image is a shade of gray that indicates the intensity of its cyan channel. Da mesma forma, você pode renderizar imagens que indicam as intensidades dos canais magenta, amarelo e preto.Similarly, you can render images that indicate the intensities of the magenta, yellow, and black channels.

Um objeto ImageAttributes mantém as configurações de cor e escala de cinza para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto.An ImageAttributes object maintains color and grayscale settings for five adjustment categories: default, bitmap, brush, pen, and text. Por exemplo, você pode especificar um canal de saída para a categoria padrão e um canal de saída diferente para a categoria de bitmap.For example, you can specify an output channel for the default category and a different output channel for the bitmap category.

As configurações padrão de ajuste de cor e ajuste de escala de cinza se aplicam a todas as categorias que não têm suas próprias configurações de ajuste.The default color-adjustment and grayscale-adjustment settings apply to all categories that do not have adjustment settings of their own. Por exemplo, se você nunca especificar configurações de ajuste para a categoria de bitmap, as configurações padrão serão aplicadas à categoria de bitmap.For example, if you never specify any adjustment settings for the bitmap category, the default settings apply to the bitmap category.

Assim que você especificar uma configuração de ajuste de cor ou de escala de cinza para uma determinada categoria, as configurações de ajuste padrão não se aplicarão mais a essa categoria.As soon as you specify a color-adjustment or grayscale-adjustment setting for a certain category, the default adjustment settings no longer apply to that category. Por exemplo, suponha que você especifique uma coleção de configurações de ajuste para a categoria padrão.For example, suppose you specify a collection of adjustment settings for the default category. Se você definir o canal de saída para a categoria de bitmap, passando Bitmap para o método SetOutputChannel, nenhuma das configurações de ajuste padrão será aplicada aos bitmaps.If you set the output channel for the bitmap category by passing Bitmap to the SetOutputChannel method, none of the default adjustment settings will apply to bitmaps.

Aplica-se a