什么是新的
- ChartDirector for .NET 7.0 支持跨平台使用,但仅限于 .NET 6。这是因为在 .NET 7 中,Microsoft 停止了用于非 Windows 使用的 .NET 图形库 System.Drawing.Common。由于 ChartDirector for .NET 7.0 依赖于该库,因此它不再支持 .NET 7 上的非 Windows 使用。
- ChartDirector for .NET 7.1 NuGet 包现在包含一个 ChartDirector 版本,该版本使用 Microsoft 分发的替代图形库 SkiaSharp。对于面向 .NET 5 或更高版本的跨平台项目,Visual Studio 将自动使用 NuGet 包中的 SkiaSharp ChartDirector。对于仅限 Windows 或针对早期 .NET 版本的项目没有任何更改。
行为改变
- 如上一节所述,对于面向 .NET 5 或更高版本的跨平台项目,图形库将切换到 SkiaSharp 以与较新的 .NET 版本兼容。由于这一变化,文本的外观将会略有变化。这通常不明显。 *** 注意 ***:如果您的项目是 Web 应用程序,并且未将其配置为仅针对 Windows,则 Visual Studio 将假定它是跨平台的,即使您仅在 Windows 上使用它。这意味着如果项目面向 .NET 或更高版本,它将切换到 SkiaSharp。
- 如果使用 SkiaSharp 而不是 System.Drawing.Common,则引用 System.Drawing.Common 中的类的 ChartDirector API 将不可用。例如,将图表作为 System.Drawing.Image 对象返回的“BaseChart.makeImage”将变得不可用。这不会影响大多数程序,因为引用 System.Drawing.Common 的 ChartDirector API 是为 Windows 窗体和 WPF 应用程序设计的。它们仅适用于 Windows(Microsoft 仅支持 Windows 上的 Windows 窗体和 WPF),并将继续使用 System.Drawing.Common。
- SkiaSharp 支持多种操作系统和不同类型的 Linux。不过,微软的标准 SkiaSharp NuGet 包仅包含 Windows 和 macOS 支持,对于 Windows 或 macOS 上的软件开发来说已经足够了。要将应用程序部署到 Linux 或其他操作系统,您需要为这些操作系统的“SkiaSharp 资产”添加额外的 NuGet 包。有关详细信息,请参阅 ChartDirector for .NET 文档的安装部分。
升级注意事项
- ChartDirector for .NET 7.1 旨在与以前版本的 ChartDirector for .NET 兼容,这意味着现有代码应继续运行。要升级到 ChartDirector for .NET 7.1,只需在项目中将以前的 ChartDirector for .NET NuGet 包替换为 ChartDirector for .NET 7.1 NuGet 包即可。
- 如果您的项目是跨平台的并且面向 .NET 5 或更高版本,则当您更改 .NET 7.1 NuGet 包的 ChartDirector 时,Visual Studio 将选择 SkiaSharp ChartDirector,它不会自动包含 Linux 支持。为了支持 Linux,您需要将适用于 Linux 的“SkiaSharp Assets”的额外 NuGet 包添加到您的项目中。
ChartDirector for C++ 7.1。。。。。。。。。。
什么是新的
- ChartDirector for C++ 7.1 添加了对 Qt Quick/QML 框架的支持。这是 ChartDirector 已经支持的 MFC 和 Qt Widgets 框架的补充。
升级注意事项
- ChartDirector for C++ 7.1 旨在与 ChartDirector for C++ 的早期版本兼容,这意味着现有代码应继续运行。
- 要升级到 ChartDirector for C++ 7.1,请使用 ChartDirector for C++ 7.1 中的文件更新项目中的以下文件。
- 更新 ChartDirector 头文件(在 ChartDirector/include 中)
- 更新 ChartDirector DLL/共享对象(在 ChartDirector/lib 中)
- 对于使用 CChartViewer 控件的 MFC 项目,请使用“ChartDirector/mfcdemo/helloworld”中的内容更新 CChartViewer.cpp 和 CChartViewer.h。
- 对于使用 QChartViewer 的 Qt 项目,请使用“ChartDirector/qtdemo/helloworld”中的内容更新 QChartViewer.cpp 和 QChartViewer.h。