Поделиться через


ImageAttributes.SetOutputChannel Метод

Определение

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный).

Перегрузки

SetOutputChannel(ColorChannelFlag)

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) для категории по умолчанию.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) для указанной категории.

SetOutputChannel(ColorChannelFlag)

Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) для категории по умолчанию.

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)

Параметры

flags
ColorChannelFlag

Элемент ColorChannelFlag, который задает выходной канал.

Примеры

В следующем примере кода показано, как использовать метод SetOutputChannel. Чтобы запустить этот пример, вставьте следующий код в форму Windows Forms. Обработайте событие формы Paint и вызовите ShowOutputChannels, передавая e как 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

Комментарии

Метод можно использовать для SetOutputChannel преобразования изображения в цветовое пространство CMYK и проверки интенсивности одного из цветовых каналов CMYK. Например, предположим, что вы создали ImageAttributes объект и задали для его выходного канала растрового изображения значение ColorChannelC. Если передать путь ImageAttributes к объекту методу DrawImage , вычисляется голубой компонент каждого пикселя, и каждый пиксель на отрисованном изображении будет оттенком серого, который указывает на интенсивность его голубого канала. Аналогичным образом можно визуализировать изображения, указывающие интенсивность пурпурных, желтых и черных каналов.

Объект ImageAttributes поддерживает параметры цвета и оттенков серого для пяти категорий корректировки: по умолчанию, точечный рисунок, кисть, перо и текст. Например, можно указать выходной канал для категории по умолчанию и другой выходной канал для категории точечных рисунков.

Параметры настройки цвета и оттенков серого по умолчанию применяются ко всем категориям, которые не имеют собственных параметров настройки. Например, если вы никогда не указываете параметры корректировки для категории точечного рисунка, параметры по умолчанию применяются к категории точечных рисунков.

Применяется к

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) для указанной категории.

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)

Параметры

flags
ColorChannelFlag

Элемент ColorChannelFlag, который задает выходной канал.

type
ColorAdjustType

Элемент ColorAdjustType, указывающий категорию, для которой задается выходной канал.

Примеры

В следующем примере кода показано, как использовать метод SetOutputChannel. Чтобы запустить этот пример, вставьте следующий код в форму Windows Forms. Обработайте событие формы Paint и вызовите ShowOutputChannels, передавая e как 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

Комментарии

Метод можно использовать для SetOutputChannel преобразования изображения в цветовое пространство CMYK и проверки интенсивности одного из цветовых каналов CMYK. Например, предположим, что вы создали ImageAttributes объект и задали для его выходного канала растрового изображения значение ColorChannelC. Если передать путь ImageAttributes к объекту методу DrawImage , вычисляется голубой компонент каждого пикселя, и каждый пиксель на отрисованном изображении будет оттенком серого, который указывает на интенсивность его голубого канала. Аналогичным образом можно визуализировать изображения, указывающие интенсивность пурпурных, желтых и черных каналов.

Объект ImageAttributes поддерживает параметры цвета и оттенков серого для пяти категорий корректировки: по умолчанию, точечный рисунок, кисть, перо и текст. Например, можно указать выходной канал для категории по умолчанию и другой выходной канал для категории точечных рисунков.

Параметры настройки цвета и оттенков серого по умолчанию применяются ко всем категориям, которые не имеют собственных параметров настройки. Например, если вы никогда не указываете параметры корректировки для категории точечного рисунка, параметры по умолчанию применяются к категории точечных рисунков.

Как только вы укажете параметр настройки цвета или оттенка серого для определенной категории, параметры настройки по умолчанию больше не применяются к этой категории. Например, предположим, что вы указали коллекцию параметров корректировки для категории по умолчанию. Если задать выходной канал для категории точечных изображений путем передачи BitmapSetOutputChannel в метод , ни один из параметров настройки по умолчанию не будет применяться к растровым изображениям.

Применяется к