Encoder.ColorDepth Campo

Definizione

Oggetto Encoder inizializzato con il GUID relativo alla categoria del parametro della profondità dei colori.

public: static initonly System::Drawing::Imaging::Encoder ^ ColorDepth;
public static readonly System.Drawing.Imaging.Encoder ColorDepth;
 staticval mutable ColorDepth : System.Drawing.Imaging.Encoder
Public Shared ReadOnly ColorDepth As Encoder 

Valore del campo

Esempio

Nell'esempio seguente viene creato un Bitmap oggetto da un file BMP. Il codice salva l'immagine come file TIFF con una profondità di colore di 24 bit per pixel.

#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
static ImageCodecInfo^ GetEncoderInfo( String^ mimeType );
int main()
{
   Bitmap^ myBitmap;
   ImageCodecInfo^ myImageCodecInfo;
   Encoder^ myEncoder;
   EncoderParameter^ myEncoderParameter;
   EncoderParameters^ myEncoderParameters;
   
   // Create a Bitmap object based on a BMP file.
   myBitmap = gcnew Bitmap( "C:\\Documents and Settings\\All Users\\Documents\\My Music\\music.bmp" );
   
   // Get an ImageCodecInfo object that represents the TIFF codec.
   myImageCodecInfo = GetEncoderInfo( "image/tiff" );
   
   // Create an Encoder object based on the GUID
   // for the ColorDepth parameter category.
   myEncoder = Encoder::ColorDepth;
   
   // Create an EncoderParameters object.
   // An EncoderParameters object has an array of EncoderParameter
   // objects. In this case, there is only one
   // EncoderParameter object in the array.
   myEncoderParameters = gcnew EncoderParameters( 1 );
   
   // Save the image with a color depth of 24 bits per pixel.
   myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(24) );
   myEncoderParameters->Param[ 0 ] = myEncoderParameter;
   myBitmap->Save( "Shapes24bpp.tiff", myImageCodecInfo, myEncoderParameters );
}

static ImageCodecInfo^ GetEncoderInfo( String^ mimeType )
{
   int j;
   array<ImageCodecInfo^>^encoders;
   encoders = ImageCodecInfo::GetImageEncoders();
   for ( j = 0; j < encoders->Length; ++j )
   {
      if ( encoders[ j ]->MimeType == mimeType )
            return encoders[ j ];

   }
   return nullptr;
}
using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_SetColorDepth
{
    public static void Main()
    {
        Bitmap myBitmap;
        ImageCodecInfo myImageCodecInfo;
        Encoder myEncoder;
        EncoderParameter myEncoderParameter;
        EncoderParameters myEncoderParameters;
                     
        // Create a Bitmap object based on a BMP file.
        myBitmap = new Bitmap(@"C:\Documents and Settings\All Users\Documents\My Music\music.bmp");
                     
        // Get an ImageCodecInfo object that represents the TIFF codec.
        myImageCodecInfo = GetEncoderInfo("image/tiff");
                     
        // Create an Encoder object based on the GUID
        // for the ColorDepth parameter category.
        myEncoder = Encoder.ColorDepth;
                     
        // Create an EncoderParameters object.
        // An EncoderParameters object has an array of EncoderParameter
        // objects. In this case, there is only one
        // EncoderParameter object in the array.
        myEncoderParameters = new EncoderParameters(1);
                     
        // Save the image with a color depth of 24 bits per pixel.
        myEncoderParameter =
            new EncoderParameter(myEncoder, 24L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        myBitmap.Save("Shapes24bpp.tiff", myImageCodecInfo, myEncoderParameters);
    }

    private static ImageCodecInfo GetEncoderInfo(String mimeType)
    {
        int j;
        ImageCodecInfo[] encoders;
        encoders = ImageCodecInfo.GetImageEncoders();
        for(j = 0; j < encoders.Length; ++j)
        {
            if(encoders[j].MimeType == mimeType)
                return encoders[j];
        }
        return null;
    }
}
Imports System.Drawing
Imports System.Drawing.Imaging

Class Example_SetColorDepth

    Public Shared Sub Main()
        Dim myBitmap As Bitmap
        Dim myImageCodecInfo As ImageCodecInfo
        Dim myEncoder As Encoder
        Dim myEncoderParameter As EncoderParameter
        Dim myEncoderParameters As EncoderParameters

        ' Create a Bitmap object based on a BMP file.
        myBitmap = New Bitmap("C:\Documents and Settings\All Users\Documents\My Music\music.bmp")

        ' Get an ImageCodecInfo object that represents the TIFF codec.
        myImageCodecInfo = GetEncoderInfo("image/tiff")

        ' Create an Encoder object based on the GUID
        ' for the ColorDepth parameter category.
        myEncoder = Encoder.ColorDepth

        ' Create an EncoderParameters object.
        ' An EncoderParameters object has an array of EncoderParameter
        ' objects. In this case, there is only one
        ' EncoderParameter object in the array.
        myEncoderParameters = New EncoderParameters(1)

        ' Save the image with a color depth of 24 bits per pixel.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(24L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes24bpp.tiff", myImageCodecInfo, myEncoderParameters)

    End Sub


    Private Shared Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo
        Dim j As Integer
        Dim encoders() As ImageCodecInfo
        encoders = ImageCodecInfo.GetImageEncoders()

        j = 0
        While j < encoders.Length
            If encoders(j).MimeType = mimeType Then
                Return encoders(j)
            End If
            j += 1
        End While
        Return Nothing

    End Function
End Class

Commenti

Quando si passa un parametro a un codificatore di immagini, il parametro viene incapsulato in un EncoderParameter oggetto . Uno dei campi dell'oggetto EncoderParameter è un GUID che specifica la categoria del parametro . Usare i campi statici della Encoder classe per recuperare un Encoder oggetto contenente i parametri della categoria desiderata.

I codificatori di immagini incorporati in GDI+ ricevono parametri che appartengono a diverse categorie. Nella tabella seguente sono elencate tutte le categorie e il GUID associato a ogni categoria.

ChrominanceTable f2e455dc-09b3-4316-8260-676ada32481c

ColorDepth 66087055-ad66-4c7c-9a18-38a2310b8337

Compression e09d739d-ccd4-44ee-8eba-3fbf8be4fc58

LuminanceTable edb33bce-0266-4a77-b904-27216099e717

Quality 1d5be4b5-fa4a-452d-9cdd-5db35105e7eb

RenderMethod 6d42c53a-229a-4825-8bb7-5c99e2b9a8b8

SaveFlag 292266fc-ac40-47bf-8cfc-a85b89a655de

ScanMethod 3a4e2661-3109-4e56-8536-42c156e7dcfa

Transformation 8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9

Version 24d18c76-814a-41a4-bf53-1c219cccf797

Si applica a

Vedi anche