问题标签 [microsoft.ink]
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.
javascript - 在不使用 HTML5 Canvas 的情况下将图像转换为 base64
首先,一点背景:
对于这篇序言的冗长性质,我提前道歉;但是,它可能有助于提供不特定于问题性质的替代解决方案。
我有一个使用嵌入式 WinForm 用户控件的 ASP.NET MVC 应用程序。这些控件通过Microsoft.Ink
库为 TabletPC 提供“墨水覆盖”支持。由于 IE8 企业标准,它们是一种不幸的必需品;否则,HTML5 Canvas 将是解决方案。
无论如何,图像 URLInkPicture
通过<PARAM>
.
中的相应属性UserControl
获取该 URL,调用执行 的方法HttpWebRequest
,并将返回的图像放置在InkPicture
.
问题
这行得通,但是在这个过程中有很多开销会显着延迟我的网页加载(15 张图片需要 15 秒......不理想)。由于 FileIO 权限问题(无论是否完全信任,我未能成功消除该问题),因此在这种情况下执行Image img = new Bitmap(url);
此UserControl
操作不起作用。
初步解决方案
尽管使用canvas
不是当前的选项,但我决定使用它来测试解决方案。我会在 javascript 中加载每个图像,然后使用canvas
andtoDataUrl()
来获取 base64 数据。然后,我没有将 URL 传递给 theUserControl
并让它完成所有的工作,而是将 base64 数据作为 a 传递<PARAM>
。然后它会快速将该数据转换回图像。
15 张图像的 15 秒现在不到 3 秒。因此,我开始寻找适用于 IE7/8 的 image->base64 解决方案。
以下是一些额外的要求/限制:
- 解决方案不能有外部依赖项(即 $.getImageData)。
- 它需要 100% 封装,以便便携。
- 图片的来源和数量是可变的,它们必须是 URL 格式(base64 数据不是一个选项)。
我希望我已经提供了足够的信息,并且感谢您提供的任何指导。
谢谢。
cruisecontrol.net - 测试在 CruiseControl 中失败,但在我运行它们时成功
我在 Windows 7 Pro 专用构建机器上设置了 CruiseControl.NET (v 1.6.7981.1)。我有一个 VS2012 项目设置来构建然后使用 Gallio.Echo.exe 运行 MBUnit 测试。我的问题是,当 CC.NET 运行这些测试时,其中一些测试失败了,但是当我从命令行运行完全相同的程序时,使用与 CC 任务中指定的参数完全相同的参数,在包含测试,每一个测试都通过。我似乎无法弄清楚发生了什么。谁能解释为什么某些测试在 CruiseControl 运行时可能会失败,但在我运行时会通过?我已经尝试在 CruiseControl 服务运行的同一帐户下运行它们,所以我认为这不是权限问题。我什至尝试将其关闭再打开(机器)。
CruiseControl 以具有管理员权限的登录作为 Windows 服务运行。我们的 VS 项目是一个 .NET 4.0 桌面应用程序,但我们包含了一个以前为 .NET 3.5 构建的旧项目,升级到 .NET 4.0。这个项目引用了 Microsoft.Ink 程序集(v 6.1.0.0),我已经确认这是在构建机器上的 GAC 中。实际上,失败的测试正在测试使用此程序集的应用程序的一部分。我们计划稍后替换这个遗留项目,但现在必须接受它。
这是 CruiseControl 中的测试报告中的错误:
System.Runtime.InteropServices.COMException:灾难性故障(来自 HRESULT 的异常:0x8000FFFF(E_UNEXPECTED))错误代码:Microsoft.Ink.InkOverlayClass.set_Enabled(布尔收集)在 Microsoft.Ink.InkPicture.set_InkEnabled(布尔值)的 -2147418113 .vb:第 1201 行.......
这是失败的(VB.NET)代码
除了这个(发生 COMException: ErrorCode = -2147287036)和这个(仅在 VS 2010 上运行时:COMException: Catastrophic Failure: Error Code: -2147418113)之外,我似乎找不到任何关于错误的信息发现很有帮助,因为我没有分配资源,当我在 VS2012 中运行该程序时,我没有遇到任何问题。真正的关键是(如前所述)当我使用与 CruiseControl 配置中指定的参数相同的参数从命令提示符(以运行 CruiseControl 服务的同一用户登录)运行测试时,测试工作完美。
Gallio.Echo.exe /rnf:test-report /rt:Xml-Inline /v:Quiet "C:\My project\testAssembly.dll"
任何帮助将非常感激。
windows-8 - 适用于 Windows 8 的 Windows 墨迹 - 如何设置笔纹理
任何人都知道是否可以将自定义纹理设置为 Windows.UI.Input.Inking 绘图笔触?如果可能,该怎么做?
windows-8 - 如何使用 Ink 和 WinRT 识别基本形状
有没有一种简单的方法可以使用 WinRT 进行形状识别?
使用 WPF 很简单,我可以只使用 InkAnalysis,但它似乎在 WinRT(?) 中不可用。我希望能够绘制圆形、矩形和正方形的基本形状,并且我希望能够识别它们。
有什么建议么?
windows-8 - 有没有办法检测笔是否靠近 WinRT 中的屏幕
我希望能够检测我是否有一支笔靠近屏幕。
例如,如果我用笔打开它,我想显示一个不同的应用栏。
另外,当我将笔靠近它(不一定要触摸它)时,我想在屏幕上显示其他内容。
/吉米
c# - 手写笔墨水压力不工作
我正在尝试将 Ink 功能应用于我的 Windows Store 应用程序。
基于MSDN 中的 Simplified Ink Sample(注意我使用 C# 示例),我修改了 Scenario1.xaml.cs 中的第 51 行,drawingAttributes.IgnorePressure = false;
以便使用 Stylus Pressure。
仅供参考,下面是第 46~52 行的代码块。
但笔画粗细并没有像我预期的那样改变。我drawingAttributes.PenTip = PenTipShape.Circle;
在第 51 行之后立即添加,但压力不受影响。
我错过了什么吗?我的手写笔与 Fresh Paint 应用程序或其他压力敏感应用程序(我使用的是联想 x230t 平板电脑)正常工作。
c# - 如何限制 microsoft inkoverlay 在输入控件(如(文本框、复选框)中绘制?
我想限制InkOverlay
在文本框和复选框中绘图,但我需要在标签中绘图。如何实现这一点。
如果我设置
它正在申请所有控件。我需要在标签和图片控件上绘制。
directx - 使用 directX 渲染墨水
如何使用 DierctX 在屏幕上渲染墨水?
我知道 C# 中的 InkManager 用于在画布上呈现墨水。我正在尝试使用 SharpDX 做类似的功能。但我没有任何示例代码可供参考。
是否有任何教程或示例代码解释了使用 directX 渲染墨水?一切都好,无论是 C++ 还是 C#
windows-phone-8 - Windows Phone - WriteableBitmap.Render 不适用于 InkPresenter
我正在使用 WriteableBitmap.Render 将 InkPresenter 控件转换为字节数组和图像。
这是我的代码:
如果我将结果(字节数组或图像)保存到 IsoladtedStorage 中,图像的大小正确,但只有黑色。
我不知道为什么它不起作用,因为我已经在 Map 控件中使用了这种方法。
windows-phone-8 - 如何细化inkpresenter WP8的笔画
我正在使用墨水演示器来绘制笔画。但问题是在绘制曲线时,它会绘制锯齿线。直线没有问题。这就是我所做的......我不知道在哪里进行更改以使线条更平滑。