다음을 통해 공유


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

비트맵의 인치당 가로 점(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입니다.

특성

적용 대상