首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将InkCanvas笔画保存在UWP的InkCanvas中

将InkCanvas笔画保存在UWP的InkCanvas中
EN

Stack Overflow用户
提问于 2017-04-09 13:53:50
回答 1查看 377关注 0票数 1

考虑一下UWP应用程序上的以下InkCanvas,它是网格中唯一的元素(为了简洁而省略)

代码语言:javascript
复制
<InkCanvas x:Name="inkCanvas" Width="500" Height="500"/>

画一个从InkCanvas内部的某个地方开始的笔画,并在InkCanvas边界之外延长您的笔画。在视觉上,您将有这样的印象,即笔画结束于边界(例如,在InkCanvas的右边边缘)。但这不是真的。通过按钮调整InkCanvas的大小。

代码语言:javascript
复制
  private void SizeButton_Click(object sender, RoutedEventArgs e)
  {
     inkCanvas.Width = 2000;
     inkCanvas.Height = 2000;
  } 

你会看到在InkCanvas之外画出的笔画部分。这部分也将是可见的,如果你保存你的中风到一个gif或isf,无论是否调整大小,这是非常不幸的。windows商店中有几个具有输墨功能的应用程序也存在这个问题。

问:为什么是这样,我们怎样才能避免?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-09 14:58:27

InkCanvas出现之前,我曾与一个团队一起做过软件的链接工作,我们也遇到了同样的问题。“当用户将钢笔拖到允许他们墨水的矩形区域外时,我们该怎么办?”我们最终得出了与InkCanvas相同的结论,那就是保持这条道路的前进。

做出这一决定的原因是经过了一些尝试和错误。

我们试着剪下这条路,也就是说,在它与边缘相交的地方切断它。但是我们经历了一个问题,用户在盒子外运行钢笔,然后又以同样的笔画回来。把它想象成一个签名盒。我们给用户一个虚线区域,用户可以在其中进行数字签名,但几乎每个人都有一个夸张的签名,可以退出虚线区域的边界。我们不能剪辑,因为我们实际上会失去签名的一个重要部分。

我们还试着抓取通往边缘的路径。当用户拖出框外时,墨迹将沿区域边缘垂直或水平地断裂。至少使用这种方法,用户将得到在拖出区域时所发生的事情的即时反馈。这太可怕了。糟糕的用户体验和大量的仇恨邮件。

所以..。我们把它单独留下了。盒子不会以任何方式影响墨水的笔触。

现在帮你解决你的处境。如果要剪切路径,可以使用Win2D将累积的墨迹笔画转换为几何,并将其与与InkCanvas (500x500)相同大小的矩形几何图形相交。如果你对这个方向感兴趣,迈克·陶蒂有一篇关于这件事的帖子。我唯一不确定的是,您是否可以将最终的裁剪几何转换回InkStroke。可能是单方行动。你得把它挖出来。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43307518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档