BitmapSource.Create 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个新的具有指定属性和选项的 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。
示例
下面的示例演示如何使用此方法创建新的 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,它是从非托管内存中的像素数组创建的。
- 属性