Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

BitmapSource.Create Method (Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

Creates a new BitmapSource from an array of pixels.

Namespace:  System.Windows.Media.Imaging
Assembly:  PresentationCore (in PresentationCore.dll)

public static BitmapSource Create(
	int pixelWidth,
	int pixelHeight,
	double dpiX,
	double dpiY,
	PixelFormat pixelFormat,
	BitmapPalette palette,
	Array pixels,
	int stride
)

Parameters

pixelWidth
Type: System.Int32

The width of the bitmap.

pixelHeight
Type: System.Int32

The height of the bitmap.

dpiX
Type: System.Double

The horizontal dots per inch (dpi) of the bitmap.

dpiY
Type: System.Double

The vertical dots per inch (dpi) of the bitmap.

pixelFormat
Type: System.Windows.Media.PixelFormat

The pixel format of the bitmap.

palette
Type: System.Windows.Media.Imaging.BitmapPalette

The palette of the bitmap.

pixels
Type: System.Array

An array of bytes that represents the content of a bitmap image.

stride
Type: System.Int32

The stride of the bitmap.

Return Value

Type: System.Windows.Media.Imaging.BitmapSource
The BitmapSource that is created from the specified array of pixels.

The following example demonstrates how to use this method in order to create a new BitmapSource.

            int width = 128;
            int height = width;
            int stride = width/8;
            byte[] pixels = new byte[height*stride];

            // Try creating a new image with a custom palette.
            List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
            colors.Add(System.Windows.Media.Colors.Red);
            colors.Add(System.Windows.Media.Colors.Blue);
            colors.Add(System.Windows.Media.Colors.Green);
            BitmapPalette myPalette = new BitmapPalette(colors);

            // Creates a new empty image with the pre-defined palette

            BitmapSource image = BitmapSource.Create(
                width,
                height,
                96,
                96,
                PixelFormats.Indexed1,
                myPalette, 
                pixels, 
                stride);

            FileStream stream = new FileStream("empty.tif", FileMode.Create);
            TiffBitmapEncoder encoder = new TiffBitmapEncoder();
            TextBlock myTextBlock = new TextBlock();
            myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
            encoder.Frames.Add(BitmapFrame.Create(image));
            MessageBox.Show(myPalette.Colors.Count.ToString());
            encoder.Save(stream);

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft