我想在Windows Phone 8.1中将我的画布分享为图像.为此我首先将我的画布转换为图像然后共享它.我尝试了我的Windows 8.1代码.没有出现错误但图像不在共享源应用程序中只有说明和标题出现.
这是代码:
private async void DataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs e) { e.Request.Data.Properties.Title = "My app"; e.Request.Data.Properties.Description = "app description"; DataRequest request = e.Request; // Request deferral to wait for async calls DataRequestDeferral deferral = request.GetDeferral(); // XAML objects can only be accessed on the UI thread, and the call may come in on a background thread await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => { try { RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(); InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream(); // Render to an image at the current system scale and retrieve pixel contents await renderTargetBitmap.RenderAsync(SavedCanvas); var pixelBuffer = await renderTargetBitmap.GetPixelsAsync(); // Encode image to an in-memory stream var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream); encoder.SetPixelData( BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore, (uint)renderTargetBitmap.PixelWidth, (uint)renderTargetBitmap.PixelHeight, DisplayInformation.GetForCurrentView().LogicalDpi, DisplayInformation.GetForCurrentView().LogicalDpi, pixelBuffer.ToArray()); await encoder.FlushAsync(); request.Data.Properties.Thumbnail = RandomAccessStreamReference.CreateFromStream(stream); // e.Request.Data.Properties.Thumbnail=(RandomAccessStreamReference.CreateFromStream(stream)); // Set content of the DataProviderRequest to the encoded image in memory request.Data.SetBitmap(RandomAccessStreamReference.CreateFromStream(stream)); } finally { deferral.Complete(); } }); }
这在Windows 8.1中运行良好,我认为它也应该在这里工作正常.图像在消息,OneNote等共享应用程序时看不到.
需要帮助.谢谢.