BitmapSource.Create 方法

定義

建立具有所指定屬性和選項的新 BitmapSourceCreates a new BitmapSource that has the specified properties and options.

多載

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

從像素陣列建立新的 BitmapSourceCreates a new BitmapSource from an array of pixels.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32)

從儲存在 Unmanaged 記憶體內的像素陣列,建立新的 BitmapSourceCreates a new BitmapSource from an array of pixels that are stored in unmanaged memory.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

從像素陣列建立新的 BitmapSourceCreates a new BitmapSource from an array of pixels.

public:
 static System::Windows::Media::Imaging::BitmapSource ^ Create(int pixelWidth, int pixelHeight, double dpiX, double dpiY, System::Windows::Media::PixelFormat pixelFormat, System::Windows::Media::Imaging::BitmapPalette ^ palette, Array ^ pixels, int stride);
public static System.Windows.Media.Imaging.BitmapSource Create (int pixelWidth, int pixelHeight, double dpiX, double dpiY, System.Windows.Media.PixelFormat pixelFormat, System.Windows.Media.Imaging.BitmapPalette palette, Array pixels, int stride);
static member Create : int * int * double * double * System.Windows.Media.PixelFormat * System.Windows.Media.Imaging.BitmapPalette * Array * int -> System.Windows.Media.Imaging.BitmapSource
Public Shared Function Create (pixelWidth As Integer, pixelHeight As Integer, dpiX As Double, dpiY As Double, pixelFormat As PixelFormat, palette As BitmapPalette, pixels As Array, stride As Integer) As BitmapSource

參數

pixelWidth
Int32

點陣圖的寬度。The width of the bitmap.

pixelHeight
Int32

點陣圖的高度。The height of the bitmap.

dpiX
Double

點陣圖的水平 DPI (每英吋的點數)dots per inch (dpi)The horizontal DPI (每英吋的點數)dots per inch (dpi) of the bitmap.

dpiY
Double

點陣圖的垂直 DPI (每英吋的點數)dots per inch (dpi)The vertical DPI (每英吋的點數)dots per inch (dpi) of the bitmap.

pixelFormat
PixelFormat

點陣圖的像素格式。The pixel format of the bitmap.

palette
BitmapPalette

點陣圖的調色盤。The palette of the bitmap.

pixels
Array

位元組的陣列,表示點陣圖影像的內容。An array of bytes that represents the content of a bitmap image.

stride
Int32

點陣圖的步距。The stride of the bitmap.

傳回

BitmapSource

從指定的像素陣列建立的 BitmapSourceThe BitmapSource that is created from the specified array of pixels.

範例

下列範例示範如何使用這個方法來建立新的 BitmapSourceThe 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);

Dim width As Integer = 128
Dim height As Integer = width
Dim stride As Integer = CType(width / 8, Integer)
Dim pixels(height * stride) As Byte

' Try creating a new image with a custom palette.
Dim colors As New List(Of 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)
Dim myPalette As New BitmapPalette(colors)

' Creates a new empty image with the pre-defined palette
Dim image As BitmapSource = System.Windows.Media.Imaging.BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed1, myPalette, pixels, stride)
Dim stream As New FileStream("empty.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
Dim myTextBlock As 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)

另請參閱

適用於

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32)

從儲存在 Unmanaged 記憶體內的像素陣列,建立新的 BitmapSourceCreates a new BitmapSource from an array of pixels that are stored in unmanaged memory.

public:
 static System::Windows::Media::Imaging::BitmapSource ^ Create(int pixelWidth, int pixelHeight, double dpiX, double dpiY, System::Windows::Media::PixelFormat pixelFormat, System::Windows::Media::Imaging::BitmapPalette ^ palette, IntPtr buffer, int bufferSize, int stride);
public static System.Windows.Media.Imaging.BitmapSource Create (int pixelWidth, int pixelHeight, double dpiX, double dpiY, System.Windows.Media.PixelFormat pixelFormat, System.Windows.Media.Imaging.BitmapPalette palette, IntPtr buffer, int bufferSize, int stride);
[System.Security.SecurityCritical]
public static System.Windows.Media.Imaging.BitmapSource Create (int pixelWidth, int pixelHeight, double dpiX, double dpiY, System.Windows.Media.PixelFormat pixelFormat, System.Windows.Media.Imaging.BitmapPalette palette, IntPtr buffer, int bufferSize, int stride);
static member Create : int * int * double * double * System.Windows.Media.PixelFormat * System.Windows.Media.Imaging.BitmapPalette * nativeint * int * int -> System.Windows.Media.Imaging.BitmapSource
[<System.Security.SecurityCritical>]
static member Create : int * int * double * double * System.Windows.Media.PixelFormat * System.Windows.Media.Imaging.BitmapPalette * nativeint * int * int -> System.Windows.Media.Imaging.BitmapSource
Public Shared Function Create (pixelWidth As Integer, pixelHeight As Integer, dpiX As Double, dpiY As Double, pixelFormat As PixelFormat, palette As BitmapPalette, buffer As IntPtr, bufferSize As Integer, stride As Integer) As BitmapSource

參數

pixelWidth
Int32

點陣圖的寬度。The width of the bitmap.

pixelHeight
Int32

點陣圖的高度。The height of the bitmap.

dpiX
Double

點陣圖的水平 DPI (每英吋的點數)dots per inch (dpi)The horizontal DPI (每英吋的點數)dots per inch (dpi) of the bitmap.

dpiY
Double

點陣圖的垂直 DPI (每英吋的點數)dots per inch (dpi)The vertical DPI (每英吋的點數)dots per inch (dpi) of the bitmap.

pixelFormat
PixelFormat

點陣圖的像素格式。The pixel format of the bitmap.

palette
BitmapPalette

點陣圖的調色盤。The palette of the bitmap.

buffer
IntPtr

在記憶體內含有點陣圖資料之緩衝區的指標。A pointer to the buffer that contains the bitmap data in memory.

bufferSize
Int32

緩衝區的大小。The size of the buffer.

stride
Int32

點陣圖的步距。The stride of the bitmap.

傳回

BitmapSource

從 Unmanaged 記憶體內的像素陣列建立的 BitmapSourceA BitmapSource that is created from the array of pixels in unmanaged memory.

屬性

適用於