C# 是否在Windows Phone 8应用程序中不使用WriteableBitmap或类似工具将位图转换为jpeg?
我已经知道如何使用WriteableBitmap对象(带有WriteableBitmapEx扩展)将位图转换为JPEG流。问题是必须在UI线程上创建WriteableBitmap对象,强制RunAsync()或Dispatcher.BeginInvoke()的用户将代码推送到UI线程,否则我会得到一个RPC_E_错误的_线程或UnauthorizedAccess异常。将代码推送到UI线程会使代码流更难控制,并且通过添加线程开关会大大降低速度。由于我的应用程序正在实时处理来自手机摄像头的帧,所以线程切换是一个巨大的性能打击 有人知道如何将位图转换为JPEG流或字节数组,而不使用WriteableBitmap对象或任何其他必须从UI线程创建/执行的对象吗C# 是否在Windows Phone 8应用程序中不使用WriteableBitmap或类似工具将位图转换为jpeg?,c#,windows-phone-8,bitmap,jpeg,C#,Windows Phone 8,Bitmap,Jpeg,我已经知道如何使用WriteableBitmap对象(带有WriteableBitmapEx扩展)将位图转换为JPEG流。问题是必须在UI线程上创建WriteableBitmap对象,强制RunAsync()或Dispatcher.BeginInvoke()的用户将代码推送到UI线程,否则我会得到一个RPC_E_错误的_线程或UnauthorizedAccess异常。将代码推送到UI线程会使代码流更难控制,并且通过添加线程开关会大大降低速度。由于我的应用程序正在实时处理来自手机摄像头的帧,所以线
更新:位图源是缓冲区中包含位图的流对象。我之所以使用WriteableBitmap,是因为我需要将位图转换为JPEG格式,并且我正在使用可写位图来完成此操作。您可以使用托管版本的libjpeg
由于与Silverlight profile兼容,我假设它将在Windows应用商店应用程序下工作,因此使用它,您不需要创建任何UI对象。您真正拥有的是什么,BitmapImage,BitmapSource…?我拥有一个缓冲区中有位图的流对象。ehm。。。那么,为什么不将该流读取到字节数组中呢?因为我需要将其转换为JPEG对象,并且我正在使用WriteableBitmap来完成这项工作。现在把它添加到我的帖子里。好吧,现在它有意义了。您在流中有一个BMP,并希望将其转换为JPG,让我看一下,5分钟后回来;)