Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ImageAttributes.SetOutputChannel (ColorChannelFlag, ColorAdjustType)

 

Data di pubblicazione: ottobre 2016

Imposta il canale di output CMYK per una categoria specificata.

Spazio dei nomi:   System.Drawing.Imaging
Assembly:  System.Drawing (in System.Drawing.dll)

public void SetOutputChannel(
	ColorChannelFlag flags,
	ColorAdjustType type
)

Parametri

flags
Type: System.Drawing.Imaging.ColorChannelFlag

Elemento dell'oggetto ColorChannelFlag che specifica il canale di output.

type
Type: System.Drawing.Imaging.ColorAdjustType

Elemento dell'oggetto ColorAdjustType da cui viene specificata la categoria per la quale viene impostato il canale di output.

È possibile utilizzare il SetOutputChannel metodo per convertire un'immagine in uno spazio colore CMYK ed esaminare l'intensità di uno dei canali di colore CMYK. Si supponga ad esempio, creare un ImageAttributes dell'oggetto e impostare il canale di output di bitmap ColorChannelC. Se si passa il percorso di tale ImageAttributes dell'oggetto per il DrawImage (metodo), viene calcolato il componente azzurro di ogni pixel e ogni pixel dell'immagine di rendering sarà una gradazione di grigio indicante l'intensità del relativo canale azzurro. Analogamente, è possibile eseguire il rendering di immagini indicanti l'intensità dei canali magenta, giallo e nero.

Un ImageAttributes oggetto gestisce le impostazioni di colore e delle gradazioni di grigio per cinque categorie di regolazione: predefinita, bitmap, pennello, penna e testo. Ad esempio, è possibile specificare un canale di output diversa per la categoria bitmap e un canale di output per la categoria predefinita.

Le impostazioni di regolazione del colore e regolazione delle gradazioni di grigio predefinite si applicano a tutte le categorie che non dispongono di impostazioni di regolazione di proprie. Ad esempio, se non si specifica alcuna impostazione di regolazione per la categoria bitmap, le impostazioni predefinite applicano a tale categoria.

Non appena si specifica un'impostazione di regolazione delle gradazioni di grigio per una determinata categoria o la regolazione del colore, le impostazioni di regolazione predefinite non sono più valide per tale categoria. Si supponga, ad esempio, che specificare una raccolta di impostazioni di regolazione per la categoria predefinita. Se si imposta il canale di output per la categoria bitmap passando Bitmap per il SetOutputChannel metodo, nessuna delle impostazioni di regolazione verranno applicate alle bitmap.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il metodo SetOutputChannel. Per eseguire questo esempio, incollare il codice seguente in un Windows Form. Gestire Paint eventi e chiamate ShowOutputChannels, passando e comePaintEventArgs.

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();

}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: