问题标签 [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 投票
1 回答
340 浏览

wpf - 如何在 Image MouseDown 上提示窗口

我正在创建一个应用程序(用于平板电脑),用户将在其中填写检查表。作为最后一步,导演必须能够签署(连同其他一些人)。

因为我想保持我的表单小而简洁,所以我希望在一个图像控件上创建一个点击事件,它会弹出我的签名画布窗口。

我的图像控件的 XAML 代码

VB代码

例如,在以下屏幕截图中,用户将触摸/单击红色矩形(其中包含一个图像控件):

签名位置

这会提示这个窗口:

签名窗口

我的问题:我似乎无法触发图像上的事件。我已经尝试过 TouchDown、MouseDown、StylusDown、GotFocus(属性 Focasable 设置为 true),但似乎没有任何东西触发它。

0 投票
3 回答
2490 浏览

c# - InkCanvas 到位图

我在将画布保存到 BMP 文件(或任何其他类型)时遇到问题。

我正在尝试像这样保存我的 InkCanvas:

但我总是得到一个从左到上都有黑色边框的图像,从窗口的点 (0,0) 到画布的大小相等。我做错了什么? 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
118 浏览

c# - 带有时间信息的 InkCanvas

我正在为 WPF 使用 Microsoft Ink Canvas,我需要更改配置以获取时间信息。

使用 winforms 和 MSInk,我使用 InkCollector 对象来做到这一点。使用 InkCanvas,我意识到还有一个嵌入的 InkCollector 对象,但无法访问它。有必要访问它以便通过设置 DesiredPacketDescription 属性来指示 InkCollector 获取时间数据。

在 MSDN ( http://msdn.microsoft.com/en-us/library/dd187712.aspx ) 中显示了一个受保护的成员 _inkCollector,但是,我无法使用检测找到它(Find a private field with Reflection?)。

Perharps 还有其他解决方案吗?

在此先感谢,伊万。

0 投票
2 回答
1572 浏览

c# - 如何以编程方式 EraseByPoint 在 InkCanvas/StrokeCollection 上?

我正在创建一个在 UI 上具有绘图部分的 Signal R 应用程序,现在我正在使用 WPF 客户端,但最终也会有 MVC 和 Android 客户端。

绘图事件处理得很好,但是使用我处理擦除其他客户端的方法最终会擦除整个笔画,而不仅仅是点。

进行擦除的客户正在使用 EraseByPoint 方法,一切正常。

图纸更新细节通过 DrawingDto 传递给客户端:

以及手柄添加新笔划并尝试删除已擦除笔划的代码:

在此代码中,Execute.OnUiThread 使用调度程序调用操作,正在删除事件侦听器以避免向服务器发送递归更新。

最后,首先创建 Dto 的代码:

编辑:这里要求的是信号 r 代码。

Signal R 集线器:

向 Hub 发送更新的客户端代码:

SignalRManager 的片段(这是一个包含所有代理的单例类):

0 投票
2 回答
1605 浏览

c# - 在 wpf 中,有没有办法在代码中更改 inkcanvas 背景颜色?

我正在使用 wpf 的 inkcanvas 制作一个小型绘图程序,并且我一直在尝试更改 c# 代码中的背景颜色,以便用户可以在运行时通过添加 RGB 值来更改它。谁能给我一个例子或指出我正确的方向?

0 投票
1 回答
2439 浏览

c# - 如何使用 MouseDown 事件 WPF 在鼠标位置向 InkCanvas 添加形状

我使用以下代码,当我单击按钮时,它允许我设置大小并将正方形添加到 inkcanvas。它将形状添加到画布的左上角。我希望能够在画布上单击鼠标的位置将形状添加到画布。

目前我得到鼠标位置:

选择形状工具(工具== 3)在我单击Inkcanvas的位置上绘制一个正方形。然而,这不起作用,只是画一个标准的笔划。此外,当我单击 inkcanvas 上的某个位置时,它不会将标签内容更新为当前位置坐标。

tool是选择的工具,以 1、2 或 3 的形式存储在一个字节中,用于笔、背景颜色和形状。 shapeChosen是一个字符串,会有正方形、星形、圆形、三角形的选项。

我在 inkcanvas 鼠标按下事件处理程序中缺少什么来实现上述情况吗?当我想放置一个形状时,如何停止画笔?

0 投票
1 回答
252 浏览

c# - WPF 中的 InkCanvas 到 2-D 数组

我想将Strokes我的所有内容转换InkCanvas为二维数组。它需要与原来的大小相同InkCanvas,但填充有关于其中存在的每个像素的信息(或者只是通知该像素是否被写入的布尔值)。.NET 中是否有这样的选项,还是我必须自己编写?另外,如果没有,我将不胜感激一些提示。

0 投票
1 回答
938 浏览

c# - WPF C#在inkCanvas中作为背景加载时防止背景调整大小

在微软文档和论坛中寻找答案后,我不知所措。我正在加载一个 png 图像作为 inkCanvas (WPF) 的背景,它工作正常,但是,它总是调整图像大小以适合画布,尽管图像大小..

这是我最后一次尝试但没有成功:

这是使用 Stretch.None 和 Stretch.Fill 的样子

在此处输入图像描述

这是我想要实现的目标:

在此处输入图像描述

这可以做到吗?

0 投票
1 回答
740 浏览

c# - 无法在 InkCanvas 上定位 BitmapImage

我已经阅读了所有我能找到但无法解决的问题。我的目标是从 中捕获笔画InkCanvas并将其转换为Path. 从路径中,将 a 返回BitmapImageImage控件并将控件放置在Image上的任意位置InkCanvas

如果我写在InkCanvas“< >”上,我会得到以下结果:

  1. 只有笔划的左侧“<”显示为位图。(看不到“>”)。
  2. “<”之外的区域是黑色的——不透明。
  3. 我想不出一种简单的方法来将路径减少为仅绘制的笔画。即,我看不到如何裁剪绘制的“<>”上方和左侧的空间。

在窗口中,这是我操作的代码Image

0 投票
1 回答
149 浏览

c# - 在自定义类中存储 InkCanvas (?)

我正在为我的学生编写一个简单的应用程序,但我正忙于工作。所以,这就是它的内容 - 它是一个简单的应用程序,用于管理也非常简单的笔记本。每个笔记本都包含一个文本框和 InkCanvas,用户可以在其中绘制简单的形状。单击所需的笔记本会将其绑定到应用程序中的某些字段,因此它们会即时更新。保存是通过 xml 序列化完成的。

Notebook 是一个自定义类,创建一个新类会创建该类的一个新实例。这是代码:

现在我需要做的是以某种方式将 InkCanvas Strokes 验证为类的属性,每次关闭应用程序时保存它,并在每次选择不同的笔记本时加载。如果我可以简单地序列化它,那就太酷了。onkcanvas 没有什么花哨的东西,没有图像上传或位图。有什么快速有效的方法吗?