最后,我有时间做一些有趣的项目.我想为我的新Livescripe Pulse智能笔写一些应用程序.
有没有人在那里写过类似的东西?你有任何关于初学者或有用链接的提示吗?我找不到小贩的网站了!
我想将表面笔功能集成到我的应用程序中.它是用Delphi 10 Seattle编写的.我在网上搜索过,找不到任何东西.
有谁知道如何为笔编程?具体来说,要捕捉压力水平,笔下,笔和笔移动事件.
是否有可能(通过 StylusButtonDown 等或替代方案)对触控笔/笔未接触屏幕时发生的按钮按下(即触控笔按钮之一,而不是某些应用程序中的按钮)做出反应,即悬停在空中某处在笔记本的范围内?只有当笔尖实际接触屏幕表面时,这些才会触发。具体来说,我不需要知道按钮的位置。只是在按下桶形按钮时。
我正在使用 Microsoft Surface 和随附的 Surface Pen,如果这有什么不同的话。我不需要它是跨平台的、可移植的或任何东西。事实上,其他语言(C++等)的解决方案也可以。非常欢迎 Hacky 解决方案。
希望任何人都可以阐明这一点,以便我可以使用带有破折号模式的笔?
我正在使用's X在WPF中编写一个可滚动的图表(一个实现的Panel内部).我有几千个s表示获得通过滚动的承载它们.我通过在其上面放置一个网格并使用// 从一个边缘到另一个边缘绘制简单的水平线来实现网格(注意:这些线条始终是静态的,它们永远不会移动).ScrollViewerIScrollInfoDrawingVisualDataContext.DrawDrawingVisualTranslateTransformPanelPanelDataContext.DrawLine(pen, new Point(0, y), new Point(widthOfPanel, y));
滚动表现绝对疯狂(即立即绘制DrawingVisual并立即滚动).但是如果我使用一个Pen使用破折号模式(例如见下面)来绘制网格线,那么滚动非常不稳定并且性能似乎已降低了100倍(估计值).谁能解释为什么会发生这种情况以及如何解决这个问题?
带划线图案的笔示例:
<Pen x:Key="PenUsingDashPatterns" Brush="Black" Thickness="1">
<Pen.DashStyle >
<DashStyle Dashes="3, 3" />
</Pen.DashStyle>
</Pen>
Run Code Online (Sandbox Code Playgroud) 我试图用VB.NET绘制一个简单的界限.
我的代码如下,但是当我运行代码时,只显示表单!没有线.
我在这做错了什么?
Public Class Form1
Dim pen As System.Drawing.Graphics
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
pen = Me.CreateGraphics()
pen.DrawLine(Pens.Azure, 10, 10, 20, 20)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud) 我有一个简单的问题,但找不到答案。是否可以在Linux(或Python)中查看外部USB笔驱动器是否空闲?我需要知道我正在编写的 python 脚本的这一点。我需要在没有任何内容写入外部 USB 笔驱动器上的文件夹后立即重命名该文件夹。
编辑:我知道有 lsof 命令可以列出打开的文件。'lsof /theDir' 只起作用一半。当复制到 USB 的进程仍在运行时,它可以正常工作。但是当进程停止时,lsof 什么也不显示。但操作系统仍在从其缓冲区写入 USB。
它无法使笔在Morph中正常工作。
我到达下面的代码段,但是在移动笔后我不明白如何更新“变形”视图。我试图在各种(sm,pen,(sm所有者))对象中发送“已更改”,但无法解决。
如果我调整窗口大小,则会在下面的代码段中绘制线条。或者,如果我把“ openInWindow”作为最后一行。
sm := SketchMorph new.
sm clearExtent: 600@600 fillColor: (Color yellow) darker darker.
sm position: 100@100.
sm openInWindow.
pen := sm penOnMyForm.
pen defaultNib: 4; color: (Color red).
pen up.
pen goto: 10@10.
pen down.
pen goto: 100@100.
Run Code Online (Sandbox Code Playgroud) 无论图形变换矩阵的比例如何,我都需要创建一个宽度为0.5 mm的笔.这是我在做的事情:
注意:示例代码是C++/CLI,但欢迎使用C#的答案.
// assume that g is a Graphics object
int dpi = g->DpiX;
float dotsPerHalfInch = dpi * 0.5;
// to extract scale factor from the transformation matrix...
// create two points distant one unit apart...
array<PointF> ^points = gcnew array<PointF>{
PointF(0.0f, 0.0f), PointF(1.0f, 0.0f)
};
// transform them...
g->Transform->TransformPoints(points);
// get distance after transformation...
float dX = points[1].X - points[0].X;
float dY = points[1].Y - points[0].Y;
float distance = Math::Sqrt(dX * dX + dY * dY); …Run Code Online (Sandbox Code Playgroud) 我想在使用拖放时在两行之间画一条线。其功能是简单的视觉功能,以便用户知道他将行放在哪里。该行应该看起来像 excel 一次。这是我的代码:
Pen _marqueePen = new Pen(Color.Gray, 2);
float[] dashValues = {1f,1f};
_marqueePen.DashPattern = dashValues;
Run Code Online (Sandbox Code Playgroud)
但这看起来是这样的

我想看起来像这样:

我是WinForms 和C1 Flexgrid控件。
我在InkCanvas上画了一些墨水笔画,现在我想改变笔的颜色.我可以使用CopyDefaultDrawingAttributes和UpdateDefaultDrawingAttributes更改我绘制的任何其他笔划的颜色,并且工作正常.但是,如何更改已存在的笔画颜色StrokeContainer?我试过了:
foreach (InkStroke stroke in inkCanvas.InkPresenter.StrokeContainer.GetStrokes())
{
stroke.DrawingAttributes.Color = strokeColour;
};
Run Code Online (Sandbox Code Playgroud)
此代码执行时没有异常,但stroke.DrawingAttributes.Color仍显示以前的颜色.
有任何想法吗?
谢谢...
罗伯特