wpf inkcanvas笔划按像素擦除

时间:2018-03-06 05:58:27

标签: c# wpf drawing pixel

我正在使用wpf中的inkcanvs开发绘图工具控件。 当我绘制矩形时,这是原始图像。

create-react-native-app

我设置编辑模式是逐点擦除。当我擦除矩形时,这是工作后的图像。

Original Image

我希望擦除功能和Windows中的默认绘图工具一样。它将按像素工作。按像素擦除形状。

部分源代码

public class Label : Stroke
{
protected override void DrawCore(DrawingContext drawingContext, DrawingAttributes drawingAttributes)

Rect rect = new Rect((Point)this.StylusPoints[0], (Point)this.StylusPoints[1]);

drawingContext.DrawRectangle(...)

1 个答案:

答案 0 :(得分:0)

使用标准API无法做到这一点。

只有将墨迹图像(笔画,增强矢量)转换为位图图像(包含像素),才能操作单个像素,但笔画信息将会丢失。

通过相当多的努力,可以创建一个应用程序来跟踪其所有用户的操作(绘制一些笔划,添加像素,移除像素)并在每次UI需要重绘时重放它们,注入在需要的地方从向量到位图的转换。

这是一个很好的练习,但可能证明太慢和/或复杂。