EncoderParameter Klas

Definitie

Wordt gebruikt om een waarde of een matrix met waarden door te geven aan een afbeeldingscoderingsprogramma.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Overname
EncoderParameter
Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een EncoderParameter met behulp van de EncoderParameter constructor maakt. Als u dit voorbeeld wilt uitvoeren, plakt u de code in een Windows Formulier en roept u de methode VaryQualityLevel aan vanuit de constructor van het formulier. Voor dit voorbeeld is een afbeeldingsbestand met de naam TestPhoto.jpgc:\vereist.

private void VaryQualityLevel()
{
    // Get a bitmap.
    Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg");
    ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);

    // Create an Encoder object based on the GUID
    // for the Quality parameter category.
    System.Drawing.Imaging.Encoder myEncoder =
        System.Drawing.Imaging.Encoder.Quality;

    // 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.
    EncoderParameters myEncoderParameters = new EncoderParameters(1);

    EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters);

    myEncoderParameter = new EncoderParameter(myEncoder, 100L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters);

    // Save the bitmap as a JPG file with zero quality level compression.
    myEncoderParameter = new EncoderParameter(myEncoder, 0L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters);
}
Private Sub VaryQualityLevel()
    ' Get a bitmap.
    Dim bmp1 As New Bitmap("c:\TestPhoto.jpg")
    Dim jpgEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)

    ' Create an Encoder object based on the GUID
    ' for the Quality parameter category.
    Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality

    ' 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.
    Dim myEncoderParameters As New EncoderParameters(1)

    Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters)

    myEncoderParameter = New EncoderParameter(myEncoder, 100&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters)

    ' Save the bitmap as a JPG file with zero quality level compression.
    myEncoderParameter = New EncoderParameter(myEncoder, 0&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters)

End Sub
private ImageCodecInfo GetEncoder(ImageFormat format)
{
    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

    foreach (ImageCodecInfo codec in codecs)
    {
        if (codec.FormatID == format.Guid)
        {
            return codec;
        }
    }
    
    return null;
}
Private Function GetEncoder(ByVal format As ImageFormat) As ImageCodecInfo

    Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()

    Dim codec As ImageCodecInfo
    For Each codec In codecs
        If codec.FormatID = format.Guid Then
            Return codec
        End If
    Next codec
    Return Nothing

End Function

Opmerkingen

U kunt ook een EncoderParameter object gebruiken om een lijst met mogelijke waarden te ontvangen die worden ondersteund door een bepaalde parameter van een bepaalde afbeeldingscoderingsprogramma.

Note

In .NET 6 en latere versies wordt het pakket System.Drawing.Common, dat dit type bevat, alleen ondersteund op Windows-besturingssystemen. Het gebruik van dit type in platformoverschrijdende apps veroorzaakt compileertijdwaarschuwingen en runtime-uitzonderingen. Zie System.Drawing.Common alleen ondersteund in Windows voor meer informatie.

Constructors

Name Description
EncoderParameter(Encoder, Byte, Boolean)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en één 8-bits waarde. Hiermee stelt u de ValueType eigenschap in op ValueTypeUndefined of ValueTypeByteen stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Byte)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en één niet-ondertekend 8-bits geheel getal. Hiermee stelt u de ValueType eigenschap in op ValueTypeByteen stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Byte[], Boolean)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een matrix van bytes. Hiermee stelt u de ValueType eigenschap in op ValueTypeUndefined of ValueTypeByteen stelt u de NumberOfValues eigenschap in op het aantal elementen in de matrix.

EncoderParameter(Encoder, Byte[])

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een matrix met niet-ondertekende 8-bits gehele getallen. Hiermee stelt u de ValueType eigenschap in op ValueTypeByteen stelt u de NumberOfValues eigenschap in op het aantal elementen in de matrix.

EncoderParameter(Encoder, Int16)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een 16-bits geheel getal. Hiermee stelt u de ValueType eigenschap in op ValueTypeShorten stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Int16[])

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een matrix van 16-bits gehele getallen. Hiermee stelt u de ValueType eigenschap in op ValueTypeShorten stelt u de NumberOfValues eigenschap in op het aantal elementen in de matrix.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object, het aantal waarden, het gegevenstype van de waarden en een aanwijzer naar de waarden die zijn opgeslagen in het EncoderParameter object.

EncoderParameter(Encoder, Int32, Int32, Int32, Int32)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en vier, 32-bits gehele getallen. De vier gehele getallen vertegenwoordigen een bereik van breuken. De eerste twee gehele getallen vertegenwoordigen de kleinste breuk in het bereik en de resterende twee gehele getallen vertegenwoordigen de grootste breuk in het bereik. Hiermee stelt u de ValueType eigenschap in op ValueTypeRationalRangeen stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Int32, Int32, Int32)
Verouderd.

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en drie gehele getallen die het aantal waarden, het gegevenstype van de waarden en een aanwijzer opgeven voor de waarden die in het EncoderParameter object zijn opgeslagen.

EncoderParameter(Encoder, Int32, Int32)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een paar 32-bits gehele getallen. Het paar gehele getallen vertegenwoordigt een breuk, het eerste gehele getal dat de teller is en het tweede gehele getal dat de noemer is. Hiermee stelt u de ValueType eigenschap in op ValueTypeRationalen stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[])

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en vier matrices van 32-bits gehele getallen. De vier matrices vertegenwoordigen een rationeel matrixbereik. Een rationeel bereik is de set van alle breuken van een minimum fractionele waarde tot een maximum fractionele waarde. Hiermee stelt u de ValueType eigenschap in op ValueTypeRationalRangeen stelt u de NumberOfValues eigenschap in op het aantal elementen in de numerator1 matrix, dat hetzelfde moet zijn als het aantal elementen in de andere drie matrices.

EncoderParameter(Encoder, Int32[], Int32[])

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en twee matrices van 32-bits gehele getallen. De twee matrices vertegenwoordigen een matrix van breuken. Hiermee stelt u de ValueType eigenschap ValueTypeRationalin op en stelt u de NumberOfValues eigenschap in op het aantal elementen in de numerator matrix, dat hetzelfde moet zijn als het aantal elementen in de denominator matrix.

EncoderParameter(Encoder, Int64, Int64)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een paar 64-bits gehele getallen. Het paar gehele getallen vertegenwoordigt een bereik van gehele getallen, het eerste gehele getal dat het kleinste getal in het bereik is en het tweede gehele getal het grootste getal in het bereik. Hiermee stelt u de ValueType eigenschap in op ValueTypeLongRangeen stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Int64)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en één 64-bits geheel getal. Hiermee stelt u de ValueType eigenschap in op ValueTypeLong (32 bits) en stelt u de NumberOfValues eigenschap in op 1.

EncoderParameter(Encoder, Int64[], Int64[])

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en twee matrices van 64-bits gehele getallen. De twee matrices vertegenwoordigen een matrix-geheel getalbereiken. Hiermee stelt u de ValueType eigenschap ValueTypeLongRangein op en stelt u de NumberOfValues eigenschap in op het aantal elementen in de rangebegin matrix, dat hetzelfde moet zijn als het aantal elementen in de rangeend matrix.

EncoderParameter(Encoder, Int64[])

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een matrix van 64-bits gehele getallen. Hiermee stelt u de ValueType eigenschap in op ValueTypeLong (32-bits) en stelt u de NumberOfValues eigenschap in op het aantal elementen in de matrix.

EncoderParameter(Encoder, String)

Initialiseert een nieuw exemplaar van de EncoderParameter klasse met het opgegeven Encoder object en een tekenreeks. De tekenreeks wordt geconverteerd naar een ascii-tekenreeks die null is beëindigd voordat deze in het EncoderParameter object wordt opgeslagen. Hiermee stelt u de ValueType eigenschap in op ValueTypeAsciien stelt u de NumberOfValues eigenschap in op de lengte van de ASCII-tekenreeks, inclusief de NULL-afsluitor.

Eigenschappen

Name Description
Encoder

Hiermee wordt het Encoder object opgehaald of ingesteld dat aan dit EncoderParameter object is gekoppeld. Het Encoder object bevat de GUID (Globally Unique Identifier) die de categorie (bijvoorbeeld QualityColorDepth, of Compression) aangeeft van de parameter die in dit EncoderParameter object is opgeslagen.

NumberOfValues

Hiermee haalt u het aantal elementen op in de matrix met waarden die zijn opgeslagen in dit EncoderParameter object.

Type

Hiermee haalt u het gegevenstype op van de waarden die in dit EncoderParameter object zijn opgeslagen.

ValueType

Hiermee haalt u het gegevenstype op van de waarden die in dit EncoderParameter object zijn opgeslagen.

Methoden

Name Description
Dispose()

Alle resources die door dit EncoderParameter object worden gebruikt, worden vrijgegeven.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Finalize()

Hiermee kan een EncoderParameter object proberen resources vrij te maken en andere opschoonbewerkingen uitvoeren voordat het EncoderParameter object wordt vrijgemaakt door garbagecollection.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook