AccessViolationException when accessing pixel color using WriteableBitmapEx

爱⌒轻易说出口 提交于 2019-12-08 03:10:28

问题


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?


回答1:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!