I'm using WriteableBitmapEx library to edit an image taken with tablet's cam with Windows 8 Pro. I'm getting an AccessViolationException every time I call to GetPixel() function, here's the code:
Windows.Media.Capture.MediaCapture captureMgr = new MediaCapture();
await captureMgr.InitializeAsync();
IRandomAccessStream memoryStream = new InMemoryRandomAccessStream();
await captureMgr.CapturePhotoToStreamAsync(imageProperties, memoryStream);
await memoryStream.FlushAsync();
memoryStream.Seek(0);
WriteableBitmap tmpImage = new WriteableBitmap(1, 1);
tmpImage.SetSource(memoryStream);
tmpImage.GetPixel(1, 1); // An AccessViolationException occurs.
What I'm doing wrong?
Try using the built in methods to create your WriteableBitmap
instead.
WriteableBitmap tmpImage = await BitmapFactory.New(1, 1).FromStream(memoryStream);
tmpImage.GetPixel(1, 1);
This should ensure that your image has been loaded into the WriteableBitmap before being accessed.
来源:https://stackoverflow.com/questions/16109097/accessviolationexception-when-accessing-pixel-color-using-writeablebitmapex