【问题标题】:UWP and InkToolbar: how to draw basic shapesUWP 和 InkToolbar:如何绘制基本形状
【发布时间】:2016-10-07 13:47:00
【问题描述】:

我在开发一个 UWP 应用程序,用户必须能够从相机拍摄照片,并通过绘制一些形状来添加细节。我认为最简单的方法是使用 InkToolbar。于是我下载了官方样例:SimpleInk

但我不知道如何解决我的一些需求:

  • 向 InkCanvas 添加背景图像:我想要一个包含原始照片和用户绘制的项目的 BitmapImage

=> 是否可以正确执行此操作?还是我需要将 Grid 中的 Image 和 InkCanvas 叠加并截屏?

  • 绘制圆形或矩形等基本形状:所有示例均基于使用不同类型铅笔的手绘

=> 有没有办法通过此控件绘制圆形或矩形等形状?或者让用户轻松“绘制”形状的更好方法是什么?

我也查看了Win2D样本Win2D-samples,但没有找到类似的案例。

提前感谢您的反馈!

【问题讨论】:

    标签: xaml uwp draw shapes inkcanvas


    【解决方案1】:

    向 InkCanvas 添加背景图像:我想要一个包含原始照片和用户绘制的项目的 BitmapImage

    InkCanvas 不直接包含background 属性。您可以使用Image 控件创建InkCanvas 覆盖背景图像,如Basic inking with InkCanvas 示例所示。

    但是,如果您需要使用 InkCanvas 绘图从原始图像中获取新的 BitmapImage,您需要使用 Win2D 库。更多详情和完整的演示请参考this thread。

    绘制圆形或矩形等基本形状:所有示例均基于使用不同类型铅笔的手绘

    为此,您上面提到的Win2D-samples 的UAP 示例提供了一个绘制圆圈的演示,您可以参考(与rectangles 相同,如下所示)。

    args.DrawingSession.DrawEllipse(155, 115, 80, 30, Colors.Black, 3);    
    args.DrawingSession.DrawRectangle(155, 115, 80, 30, Colors.Black);
    

    官方Complex inking sample也提供了Insert a shape功能,大家可以测试参考。

    【讨论】:

    • 感谢您的反馈。但是我需要手动绘制形状:通过拖放或单击,然后通过移动形状的末端来调整大小(就像 WPF 中的装饰器一样)。这在 UWP 应用程序中很容易实现吗?我找到了一个必须允许我这样做的组件:syncfusion.com/products/uwp/diagram 但最终客户必须购买许可证...
    猜你喜欢
    • 2019-05-05
    • 1970-01-01
    • 2020-02-02
    • 2012-07-09
    • 2020-09-21
    • 1970-01-01
    • 2017-09-12
    • 2017-03-12
    • 1970-01-01
    相关资源
    最近更新 更多