Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

PixelFormat Structure

Defines a pixel format for images and pixel-based surfaces.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

<SerializableAttribute> _
<TypeConverterAttribute(GetType(PixelFormatConverter))> _
Public Structure PixelFormat _
	Implements IEquatable(Of PixelFormat)
<object property="pixelFormat"/>

XAML Values


One of the predefined pixel formats defined by the PixelFormats class.

The PixelFormat type exposes the following members.

Public propertyBitsPerPixel Gets the number of bits-per-pixel (bpp) for this PixelFormat.
Public propertyMasksGets a collection of bit masks associated with the PixelFormat.

Public methodEquals(Object) Determines whether the specified object is equal to the current object. (Overrides ValueType.Equals(Object).)
Public methodEquals(PixelFormat)Determines whether the pixel format equals the given PixelFormat.
Public methodStatic memberEquals(PixelFormat, PixelFormat) Determines whether the specified PixelFormat instances are considered equal.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeCreates a hash code from this pixel format's Masks value. (Overrides ValueType.GetHashCode.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToString Creates a string representation of this PixelFormat. (Overrides ValueType.ToString.)

Public operatorStatic memberEquality Compares two PixelFormat instances for equality.
Public operatorStatic memberInequality Compares two PixelFormat instances for inequality.

The following example shows how to create a PixelFormat and find the value of its properties.

        Public Function createPixelFormat() As PixelFormat
            ' Create a PixelFormat object.
            Dim myPixelFormat As New PixelFormat()

            ' Make this PixelFormat a Gray32Float pixel format.
            myPixelFormat = PixelFormats.Gray32Float

            ' Get the number of bits-per-pixel for this format. Because
            ' the format is "Gray32Float", the float value returned will be 32.
            Dim bpp As Integer = myPixelFormat.BitsPerPixel

            ' Get the collection of masks associated with this format.
            Dim myChannelMaskCollection As IList(Of PixelFormatChannelMask) = (myPixelFormat.Masks)

            ' Capture the mask info in a string.
            Dim stringOfValues As String = " "
            Dim myMask As PixelFormatChannelMask
            For Each myMask In myChannelMaskCollection
                Dim myBytesCollection As IList(Of Byte) = myMask.Mask
                Dim myByte As Byte
                For Each myByte In myBytesCollection
                    stringOfValues = stringOfValues + myByte.ToString()
                Next myByte
            Next myMask

            ' Return the PixelFormat which, for example, could be 
            ' used to set the pixel format of a bitmap by using it to set
            ' the DestinationFormat of a FormatConvertedBitmap.
            Return myPixelFormat

        End Function 'createPixelFormat
    End Class 'PixelFormatsExample 
End Namespace 'ImagingSnippetGallery

More Code

How to: Convert an Image to GreyscaleThis example shows how to convert an image to grayscale using FormatConvertedBitmap.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

© 2015 Microsoft