BitmapSource.Create 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立一個具有指定屬性和選項的新檔案 BitmapSource 。
多載
| 名稱 | Description |
|---|---|
| Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32) |
從一組像素陣列建立一個新的 BitmapSource 。 |
| Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32) |
從儲存在非管理記憶體中的像素陣列中建立一個新的 BitmapSource 。 |
Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)
從一組像素陣列建立一個新的 BitmapSource 。
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
點陣圖的寬度。
- pixelHeight
- Int32
位圖的高度。
- dpiX
- Double
點陣圖的水平點數每英吋(dpi)。
- dpiY
- Double
點陣圖的垂直點數每英吋(dpi)。
- pixelFormat
- PixelFormat
點陣圖的像素格式。
- palette
- BitmapPalette
點陣圖的調色盤。
- pixels
- Array
一個代表點陣圖影像內容的位元組陣列。
- stride
- Int32
點陣圖的步伐。
傳回
BitmapSource該 that 是由指定的像素陣列所產生。
範例
以下範例示範如何使用此方法來建立新的 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)
從儲存在非管理記憶體中的像素陣列中建立一個新的 BitmapSource 。
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);
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>]
static member Create : int * int * double * double * System.Windows.Media.PixelFormat * System.Windows.Media.Imaging.BitmapPalette * nativeint * int * int -> System.Windows.Media.Imaging.BitmapSource
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
點陣圖的寬度。
- pixelHeight
- Int32
位圖的高度。
- dpiX
- Double
點陣圖的水平點數每英吋(dpi)。
- dpiY
- Double
點陣圖的垂直點數每英吋(dpi)。
- pixelFormat
- PixelFormat
點陣圖的像素格式。
- palette
- BitmapPalette
點陣圖的調色盤。
- buffer
-
IntPtr
nativeint
指向記憶體中位圖資料的緩衝區指標。
- bufferSize
- Int32
緩衝區的大小。
- stride
- Int32
點陣圖的步伐。
傳回
BitmapSource A 是從未管理記憶體中像素陣列所產生的。
- 屬性