Partager via


Encoder.ColorDepth Champ

Définition

Objet Encoder qui est initialisé avec le GUID relatif à la catégorie d'un paramètre de profondeur de couleur.

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 

Valeur de champ

Exemples

L’exemple suivant crée un Bitmap objet à partir d’un fichier BMP. Le code enregistre l’image sous la forme d’un fichier TIFF dont la profondeur de couleur est de 24 bits par 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

Remarques

Lorsque vous passez un paramètre à un encodeur d’image, le paramètre est encapsulé dans un EncoderParameter objet . L’un des champs de l’objet EncoderParameter est un GUID qui spécifie la catégorie du paramètre . Utilisez les champs statiques de la Encoder classe pour récupérer un Encoder qui contient des paramètres de la catégorie souhaitée.

Les encodeurs d’images intégrés à GDI+ reçoivent des paramètres qui appartiennent à plusieurs catégories. Le tableau suivant répertorie toutes les catégories et le GUID associé à chaque catégorie.

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

S’applique à

Voir aussi