问题标签 [inkcanvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4766 浏览

wpf - MVVM 绑定到 InkCanvas

我好像遇到了路障。我们将 MVVM 与 Prism 一起使用,并且有一个需要 Ink Canvas 的视图。我创建了一个从我的 ViewModel 绑定到视图的 StrokeCollection。我可以从我的视图模型中设置集合,但是在用户绘制时视图模型不会发生更改。有没有办法使这项工作?

我的 ViewModel 中的属性如下:

这是我的 XAML 绑定行:

出于某种原因,显然 InkCanvas 从未通知 ViewModel 任何更改。

0 投票
1 回答
1175 浏览

wpf - WPF InkCanvas - 如何确定它是否已“签名”

我正在使用 WPF InkCanvas 控件来捕获 Tablet PC 应用程序中的签名。

我的要求之一是验证应用程序是否真的已“签名”。现在我通过检查 InkCanvas 的 Strokes 集合来执行此操作 - 如果有 0 个笔划,那么我知道用户没有“签名”。

但是,如果用户输入一个斜线,甚至一个点,这算作一个笔划,我的验证测试将通过,即使签名不是真的有效。

关于如何为此建立更好的测试的任何想法?诚然,什么是有效签名和什么不是有效签名的用例非常模糊,但我想尝试消除明显不好的签名。

或者这是否以任何直接的方式根本无法解决?

0 投票
7 回答
14730 浏览

wpf - 将 WPF InkCanvas 保存为 JPG - 图像被裁剪

我有一个 WPF InkCanvas 控件,用于在我的应用程序中捕获签名。控件看起来像这样 - 它是 700x300

替代文字

但是,当我将其另存为 JPG 时,生成的图像看起来像这样,也是 700x300

替代文字

我用来保存的代码

这是我正在使用的 XAML:

在过去,这非常有效。我无法弄清楚是什么改变导致图像在保存时发生变化。

0 投票
1 回答
1112 浏览

wpf - InkCanvas 中的 WPF 绝对定位

我正在尝试在InkCanvas. 我正在使用以下方法。不幸的是,当我添加矩形时,它会显示在(0,0). 虽然当我查询左侧属性是否为0非零值时。有谁知道这可能是为什么?

干杯,

尼禄

0 投票
3 回答
2886 浏览

c# - 自定义 InkCanvas(MSDN 代码示例无法正常工作)

我想在 InkCanvas 上使用自定义画笔。

它们是来自 MSDN 的代码片段。( http://msdn.microsoft.com/en-us/library/ms747347.aspx )

如果我使用该代码并非常快地移动鼠标,我会在画笔(椭圆)之间获得空间: 截屏

我的问题当然是如何解决这个问题,但我也很好奇为什么会发生这种情况(我想从中学习)我想也许我做错了什么,但即使我剪切/粘贴了它正在发生的示例。

阅读代码时我注意到的一件小事是 CustomStroke 类中的这条注释

在我看来,它应该在点之间绘制椭圆,而不仅仅是在点处。

我正在使用 C#.NET。

简而言之:

  • 为什么会这样
  • 帮我修一下:)
0 投票
2 回答
1853 浏览

wpf - 在 WPF 中获取 InkCanvas 中元素的 XY 坐标

我有一个 InkCanvas,它的子项以编程方式添加到C#. 它们不是用InkCanvas.LeftPropertyor设置的InkCanvas.TopProperty。我想知道是否有可能获得元素的这些默认 X 和 Y 值。目前,如果我检查InkCanvas.LeftPropertyorInkCanvas.TopProperty它会返回NaN,因为它们没有设置。这可能吗?提前感谢您的帮助。

干杯,

尼禄

0 投票
4 回答
4593 浏览

wpf - 如何使用代码将文本添加到inkcanvas?

我想在 C# 代码(不是 Xaml)中使用 WPF 在 InkCanvas 上添加一些文本(如标签)。

这怎么可能 ?谢谢乔纳森

0 投票
1 回答
557 浏览

wpf - 获取 InkCanvas 中已移除的元素

我想知道是否有任何方法可以访问用户删除的元素。例如,当 InkCanvas 设置为 Select 时,用户可以选择元素并按 Delete 键将其删除。如果他们删除了它,有什么方法可以访问这个项目吗?任何帮助深表感谢。

干杯,

尼禄

更新

@Drew:不是真的。例如,我在 InkCanvas 上有一张图片。我在这张图片上附加了一些笔画。如果用户选择图像然后将其删除,我希望删除笔画。

0 投票
1 回答
806 浏览

c# - 数据绑定 InkCanvas 儿童

在 WPF 应用程序中,我有一个 ObservableCollection 对象(图像上的区域),我想在运行时显示和编辑(大小和位置)。

我想在选择模式下使用 InkCanvas,矩形代表我的对象,但它似乎不直接支持数据绑定。

是否有可能以某种方式将 InkCanvas 的 Children 集合绑定到 ObservableCollection?

0 投票
1 回答
3909 浏览

wpf - 如何更改 InkCanvas 的绘制方式?

我已经搜索了这方面的示例,但我遇到的那些似乎专注于更简单的东西,比如设置 InkCanvas DefaultDrawingAttributes,如宽度、高度、颜色等。似乎没有很多材料。

例如,如果我按住鼠标按钮,我可以看到它画线。如果我想绘制椭圆而不是线条,或者在线条起点和终点之间的采样点周围绘制椭圆怎么办?

我知道我可以通过 StrokeCollected 活动获得新积分,但除此之外我不知道该去哪里。这家伙似乎让 msdn 的代码正常工作,但我做不到。我只知道如何使用 XAML 构建接口,而且似乎也没有示例。

编辑

创建了一个名为 thisIsNotNice 的 StrokeCollection 类变量,在构造函数中初始化并执行以下操作:

但它不能正常工作。椭圆都画好了,但是鼠标画的线还在。此外,由于某种原因,它第一次正常工作,只绘制椭圆,但之后它同时绘制椭圆和线条。但是,如果我这样做:

线条不会保留在屏幕上。所以,我不明白为什么它们没有在上面的代码中被删除。

如果我这样做:

我还可以看到画布包含线条笔触。

虽然在将笔画添加到集合后擦除笔画远非理想,但它至少可以满足我的要求。我可以将线条颜色设置为与背景相同,但是我将无法仅检索椭圆。我也可以将它们复制到单独的集合中,但这太糟糕了。