C#

[C#/WPF] RGBa 배열을 BitmapSource 혹은 BitmapImage로 변환하는 방법을 알고싶습니다...

1
이미 RGBa값이 들어가있는 RGBBuffer[1920 * 1440] 으로 BitmapSource 혹은 Bitmap 이미지를 얻고자 합니다. 현재  BitmapSource thermalBitmapSource = BitmapSource.Create(1920, 1440, 96, 96, PixelFormats.Bgra32, null, RGB..

이미 RGBa값이 들어가있는 RGBBuffer[1920 * 1440] 으로 BitmapSource 혹은 Bitmap 이미지를 얻고자 합니다. 현재 

BitmapSource thermalBitmapSource = BitmapSource.Create(1920, 1440, 96, 96, PixelFormats.Bgra32, null, RGBBuffer, 1920/ PixelFormats.Bgra32.BitsPerPixel);

을 하였으나 System.ArgumentException: '값이 예상 범위를 벗어났습니다' 라는 에러가  나오고 있습니다. 

 

위 문에 어떤 점이 잘못된 것인지 혹은 위 방법 말고 다른 방법이 있는지 조언을 구하고 싶습니다..

AlwaysBeginner 2022-05-04
AlwaysBeginner 님께서 2022-05-04에 C#에 올린 질문

댓글

1개의 답변

1
// Define parameters used to create the BitmapSource. PixelFormat pf = PixelFormats.Bgr32; int width = 200; int height = 200; int rawStride = (width * pf.BitsPerPixel + 7) / 8; byte[] rawImage = new byte[rawStri..
// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;
byte[] rawImage = new byte[rawStride * height];

// Initialize the image with data.
Random value = new Random();
value.NextBytes(rawImage);

// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
    96, 96, pf, null,
    rawImage, rawStride);

// Create an image element;
Image myImage = new Image();
myImage.Width = 200;
// Set image source.
myImage.Source = bitmap;

 

윈비 2022-05-08
사탕 주기
윈비 님께서 2022-05-08에 C#에 올린 글
보관하기

댓글

조회수 742
답글 1
URL