public async Task InsetSaveLayer(LayerModel layer) { try { var lkd = new CanvasData(layer.Name) { DataTypeString = "Canvas" }; lkd.InsertData(nameof(layer.IsLock), layer.IsLock); lkd.InsertData(nameof(layer.IsAppear), layer.IsAppear); Datas.Add(lkd); var gkd = new CanvasData(""); Layers.Add(layer); var ic = new InkCanvas(); var isb = new InkStrokeBuilder(); var converter = InkStrokeConverter.Inst; foreach (var grap in layer.GraphicsRects) { var res = converter.ExeistConver(grap.Graphics, new InkStrokeConverterArgs(grap, ic, isb)); if (res != null) { Datas.Add(res); } } //保存笔迹 var file = await TmpSaveLayersFolder.CreateFileAsync(layer.Name + ".isf", CreationCollisionOption.GenerateUniqueName); using (var fs = await file.OpenAsync(FileAccessMode.ReadWrite)) { await ic.InkPresenter.StrokeContainer.SaveAsync(fs); } } catch (Exception ex) { ErrMsg.Add("保存失败-错误原因:-" + ex.Message + "-请重试\n"); } }
public async void Dispose() { await TmpSaveLayersFolder?.DeleteAsync(StorageDeleteOption.PermanentDelete); }