Поделиться через


BitmapSource.Create Метод

Определение

Создает новый BitmapSource, содержащий заданные свойства как параметры.

Перегрузки

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

Горизонтальные точки на дюйм (точек на дюйм) растрового изображения.

dpiY
Double

Вертикальные точки на дюйм (точек на дюйм) растрового изображения.

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

Горизонтальные точки на дюйм (точек на дюйм) растрового изображения.

dpiY
Double

Вертикальные точки на дюйм (точек на дюйм) растрового изображения.

pixelFormat
PixelFormat

Формат пикселей растрового изображения.

palette
BitmapPalette

Палитра растрового изображения.

buffer
IntPtr

nativeint

Указатель на буфер, содержащий данные растрового изображения в памяти.

bufferSize
Int32

Размер буфера.

stride
Int32

Шаг растрового изображения.

Возвращаемое значение

BitmapSource, созданный из массива пикселей в неуправляемой памяти.

Атрибуты

Применяется к