Export (0) Print
Expand All

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.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft