我在作為 Windows 10 應用程式開發的 UWP 應用程式中使用 InkCanvas。我已成功將 JPG 格式的繪圖保存到 LocalStorage。
我想將繪圖加載到 InkCanvas 物件中,以便可以在 DataGrid 上選擇和重新排列它。我遇到以下錯誤。
如果能幫到你,非常感謝。
例外:
{System.Runtime.InteropServices.COMException (0x80004005): 呼叫 COM 組件時回傳了錯誤 HRESULT E_FAIL。在 Windows.UI.Input.Inking.InkStrokeContainer.LoadAsync(IInputStream inputStream) 在 TICAppUWP.CoverPage.canvasFileNotes()}
節省:
StorageFolder storageFolder = await StorageFolder.GetFolderFromPathAsync(fileNotesFolderPath);
string fileName = App._PreparedFor "_" App._Date "_PageID_" App._CoverPageID;
var file = await storageFolder.CreateFileAsync(fileName ".jpg", CreationCollisionOption.ReplaceExisting);
CanvasDevice device = CanvasDevice.GetSharedDevice();
CanvasRenderTarget renderTarget = new CanvasRenderTarget(device, (int)myInkCanvas.ActualWidth, (int)myInkCanvas.ActualHeight, 96);
using (var ds = renderTarget.CreateDrawingSession())
{
ds.Clear(Windows.UI.Colors.White);
ds.DrawInk(myInkCanvas.InkPresenter.StrokeContainer.GetStrokes());
}
using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
await renderTarget.SaveAsync(fileStream, CanvasBitmapFileFormat.Jpeg, 1f);
}
加載:
StorageFolder storageFolder = await StorageFolder.GetFolderFromPathAsync(fileNotesFolderPath);
string fileName = App._PreparedFor "_" App._Date "_PageID_" App._CoverPageID;
var file = await storageFolder.GetFileAsync(fileName ".jpg");
StorageFile inkFile = await storageFolder.GetFileAsync(fileName ".jpg");
if (file != null)
{
Windows.Storage.Streams.IRandomAccessStream stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
using (var inputStream = stream.GetInputStreamAt(0))
{
await myInkCanvas.InkPresenter.StrokeContainer.LoadAsync(stream);
}
stream.Dispose();
}
uj5u.com熱心網友回復:
UWP(Windows 10 應用程式)InkCanvas LoadAsync 錯誤 HRESULT E_FAIL 已從對 COM 組件的呼叫回傳
請參考InkStrokeContainer 檔案 將指定流中的所有 InkStroke 物件異步加載到 InkStrokeContainer 管理的 InkStroke 集合中。
但是您將流傳LoadAsync遞給方法是影像檔案流而不是 InkStroke 集合流。所以它會拋出例外。
對于這種情況,您需要使用SaveAsync方法保存 InkStroke 流,而不是保存為影像檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/359224.html
上一篇:Xamarin.FormsSignalR:無效更新:第0節中的行數無效
下一篇:d3力圖中的同心圓
