【发布时间】:2019-07-25 07:03:00
【问题描述】:
我正在开发一个应用程序,该应用程序使用 Wacom Bamboo Slate 在画布上捕捉实时笔触。该应用程序正在使用 C# 为 UWP 平台开发。在画布上绘制后,将实现保存功能。我使用this 供我参考。下面是代码和错误信息:
private async void BtnSave_Click(object sender, RoutedEventArgs e)
{
StorageFolder storageFolder = KnownFolders.SavedPictures;
var file = await storageFolder.CreateFileAsync("sample.jpg", CreationCollisionOption.ReplaceExisting);
CanvasDevice device = CanvasDevice.GetSharedDevice();
CanvasRenderTarget renderTarget = new CanvasRenderTarget(device, (int)inkCanvas.ActualWidth, (int)inkCanvas.ActualHeight, 96);
using (var ds = renderTarget.CreateDrawingSession())
{
ds.Clear(Colors.White);
ds.DrawInk(inkCanvas.InkPresenter.StrokeContainer.GetStrokes());
}
using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
await renderTarget.SaveAsync(fileStream, CanvasBitmapFileFormat.Jpeg, 1f);
}
}
CS1061 'InkCanvas' 不包含 InkPresenter 的定义,并且找不到接受 InkCanvas 类型的第一个参数的可访问扩展方法 InkPresenter(您是否缺少 using 指令或程序集引用?)
【问题讨论】:
-
我已经找出错误的原因,但不知道如何解决它。我用作参考的链接使用了 inkcanvas(Windows.UI.Xaml.Controls.InkCanvas 的一部分),而我正在使用的 inkcanvas 是 Wacom 提供的 SDK 的一部分(Wacom.UX.InkCanvas)。
-
在 Visual Studio 中检查菜单“Project > Manage Nuget Packages”和“Project >
Properties”。
标签: c# windows xaml uwp inkcanvas