我有一个从相机到 WPF 中的图像的视频流。我试图在显示 WritableBitMap Image 之前逐个像素地访问它。作为测试,我试图将整个图像设置为白色或黑色。但是,在这两种情况下,我都会收到 AccessViolationException 错误。
我检查了其他帖子,似乎这个错误非常广泛,并不特定于我的情况。我似乎不知道为什么我没有得到这个工作。
那么在我的情况下,使用像素的最佳方式是什么?或者为什么这不起作用?任何帮助表示赞赏
private async void UpdateMasterCameraPreview(IdsFrame frame)
{
if (masterImage != null)
frame.Image.CopyTo(masterImage);
else
masterImage = frame.Image.ToWriteableBitmap();
//BitmapImage temp = ConvertWriteableBitmapToBitmapImage(masterImage);
WriteableBitmap temp = masterImage;
// Here I get the exception, on every pixel access
for (int y = 0; y < temp.PixelHeight; y++)
for (int x = 0; x < temp.PixelWidth; x++)
temp.SetPixel(x, y, 255);
masterImage = temp;
masterImage.Lock();
masterImage.AddDirtyRect(new Int32Rect(0, 0, masterImage.PixelWidth, masterImage.PixelHeight));
masterImage.Unlock();
if (OnMasterFrameCaptured != null)
OnMasterFrameCaptured(this, new CameraFrameCapturedArgs(CameraType.Master, masterImage));
}