我想实现一种功能,用户可以在鼠标/光标移动时擦除图像。当用户将光标移动到图像上时,图像的这些部分应该被擦除。实现相同功能的引用吗?样品溶胶非常感谢。
发布于 2022-07-24 18:34:03
我想实现一个功能,用户可以在鼠标/光标移动时擦除图像。
对于UWP InkCanvas控件来说,这可能是一种简单的方法,您可以将图像控件放在InkCanvas下,并将InkCanvas默认DrawingAttributes设置为白色。
xaml
<Grid x:Name="RootGrid">
<Image x:Name="ImageRender" Source="Assets/Butterfly.png" />
<InkCanvas x:Name="inkCanvas" Loaded="inkCanvas_Loaded" />
</Grid>
代码在中的应用
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
inkCanvas.InkPresenter.InputDeviceTypes =
Windows.UI.Core.CoreInputDeviceTypes.Mouse |
Windows.UI.Core.CoreInputDeviceTypes.Pen;
}
private void inkCanvas_Loaded(object sender, RoutedEventArgs e)
{
InkDrawingAttributes attributes = new InkDrawingAttributes();
attributes.PenTip = PenTipShape.Rectangle;
attributes.Size = new Size(10, 10);
attributes.Color = Colors.White;
inkCanvas.InkPresenter.UpdateDefaultDrawingAttributes(attributes);
}
}
如果要保存已编辑的图像,请调用RenderTargetBitmap
RenderAsync
方法将当前根网格呈现为图像。有关更多细节,请参阅本例中的reply。
https://stackoverflow.com/questions/73088882
复制