我对在uwp中保存墨水文件(包括墨水的元数据文件.gif)有疑问。
(墨水表示用户绘制了一些东西)
当前,我只能保存属于墨水画布而不是全屏墨水的墨水范围
inkcanvas.InkPresenter.StrokeContainer.SaveAsync(outputStream);
这种方式仅节省墨水,而不节省墨水画布的全屏显示。
我想向用户显示墨水和全屏,所以我需要墨水和全屏
这样可以吗?
请任何帮助!谢谢
答案 0 :(得分:1)
一种解决方法是在画布上绘制2个不可见点,一个在左上角,一个在右下角。
在呼叫StrokeContainer.SaveAsync
之前添加它们。
private void AddInvisibleDotsAtCorners()
{
var inkStrokeBuilder = new InkStrokeBuilder();
var stroke1 = inkStrokeBuilder.CreateStrokeFromInkPoints(
new InkPoint[]
{
new InkPoint(new Point(0, 0), 0.0f)
}, System.Numerics.Matrix3x2.Identity);
var stroke2 = inkStrokeBuilder.CreateStrokeFromInkPoints(
new InkPoint[]
{
new InkPoint(new Point(inkCanvas.ActualWidth, inkCanvas.ActualHeight), 0.0f)
}, System.Numerics.Matrix3x2.Identity);
inkCanvas.InkPresenter.StrokeContainer.AddStroke(stroke1);
inkCanvas.InkPresenter.StrokeContainer.AddStroke(stroke2);
}
然后在通话StrokeContainer.SaveAsync
完成后将其删除。