예제 #1
0
        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");
            }
        }
예제 #2
0
 public async void Dispose()
 {
     await TmpSaveLayersFolder?.DeleteAsync(StorageDeleteOption.PermanentDelete);
 }