中的 SkiaSharp 图形 Xamarin.Forms

下载示例 下载示例

在应用程序中对 2D 图形 Xamarin.Forms 使用 SkiaSharp

SkiaSharp 是适用于 .NET 和 C# 的 2D 图形系统,由开源 Skia 图形引擎提供支持,在 Google 产品中广泛使用。 可以在应用程序中使用 SkiaSharp Xamarin.Forms 绘制 2D 矢量图形、位图和文本。

本指南假定你熟悉 Xamarin.Forms 编程。

SkiaSharp 预选

的 SkiaSharp Xamarin.Forms 打包为 NuGet 包。 在 Visual Studio 或 Visual Studio for Mac 中创建Xamarin.Forms解决方案后,可以使用 NuGet 包管理器搜索 SkiaSharp.Views.Forms 包并将其添加到解决方案。 如果在添加 SkiaSharp 后检查每个项目的“引用”部分,可以看到解决方案中的每个项目都添加了各种 SkiaSharp 库。

Xamarin.Forms如果应用程序面向 iOS,请编辑其 Info.plist 文件,将最小部署目标更改为 iOS 8.0。

在使用 SkiaSharp 的任何 C# 页面中,需要包含 using 命名空间的 SkiaSharp 指令,该指令包含要在图形编程中使用的所有 SkiaSharp 类、结构和枚举。 你还需要using特定于 Xamarin.Forms的类的命名空间的指令SkiaSharp.Views.Forms。 这是一个更小的命名空间,最重要的类是 SKCanvasView。 此类派生自 Xamarin.FormsView 类并托管 SkiaSharp 图形输出。

重要

命名空间 SkiaSharp.Views.Forms 还包含派 SKGLView 生自 View 但使用 OpenGL 呈现图形的类。 为简单起见,本指南将自身限制为 SKCanvasView,但改用 SKGLView 非常相似。

SkiaSharp 绘制基础知识

可以使用 SkiaSharp 绘制的一些最简单的图形图形是圆形、椭圆形和矩形。 在显示这些图形时,你将了解 SkiaSharp 坐标、大小和颜色。 文本和位图的显示更为复杂,但这些文章也介绍了这些技术。

SkiaSharp 线和路径

图形路径是一系列连接的直线和曲线。 路径可以笔划和/或填充。 本文包含线条绘制的许多方面,包括笔划结束和联接,以及虚线和虚线,但曲线几何图形的不足。

SkiaSharp 转换

转换允许统一转换、缩放、旋转或倾斜图形对象。 本文还介绍如何使用标准的 3-by-3 转换矩阵来创建非仿射转换并将转换应用于路径。

SkiaSharp 曲线和路径

继续探索路径,将曲线添加到路径对象,并利用其他强大的路径功能。 你将了解如何在简明的文本字符串中指定整个路径、如何使用路径效果以及如何深入了解路径内部。

SkiaSharp 位图

位图是对应于显示设备的像素的位的矩形数组。 本系列文章介绍如何加载、保存、显示、创建、绘制、动画处理和访问 SkiaSharp 位图。

SkiaSharp 效果

效果是改变图形正常显示的属性,包括线性和圆形渐变、位图平铺、混合模式、模糊等。