C# MAUI画图教程 SkiaSharp集成指南
在.NETMAUI中画图最成熟、跨平台且性能好的方案是集成SkiaSharp,需安装SkiaSharp.Views.Maui.Controls包、调用UseSkiaSharp()注册服务,并通过SKCanvasView的PaintSurface事件绘制;支持触摸手绘、硬件加速与像素级控制。
在 .NET MAUI 中画图最成熟、跨平台且性能好的方案是集成 SkiaSharp,需安装 SkiaSharp.Views.Maui.Controls 包、调用 UseSkiaSharp() 注册服务,并通过 SKCanvasView 的 PaintSurface 事件绘制;支持触摸手绘、硬件加速与像素级控制。

在 .NET MAUI 中画图,最成熟、跨平台且性能好的方案是集成 SkiaSharp。它不是 MAUI 内置的绘图 API,但官方推荐、社区广泛使用,支持 Canvas 绘制、图像处理、文字渲染等,而且能直接操作像素、支持硬件加速。
安装 SkiaSharp.Maui 包
MAUI 项目需引用专为 MAUI 适配的 SkiaSharp 包(不是旧版 SkiaSharp.Views.*):
- 在项目文件(.csproj)中添加以下 PackageReference:
(建议用最新稳定版,查看 NuGet 页面 获取版本号)
安装后,还需在 MauiProgram.cs 中注册 SkiaSharp 服务:
在 XAML 中使用 SKCanvasView
添加一个可绘制的画布控件,比如在页面中写:
注意要先声明命名空间:
xmlns:skia="http://schemas.microsoft.com/dotnet/2021/maui/skiasharp"然后在后台代码(如 Page.xaml.cs)中实现绘制逻辑:
{
var canvas = e.Surface.Canvas;
canvas.Clear(SKColors.White);
var paint = new SKPaint { Color = SKColors.Blue, StrokeWidth = 4f, Style = SKPaintStyle.Stroke };
canvas.DrawCircle(100, 100, 50, paint);
}
响应触摸或手势画线(简易手绘)
想实现“手指画线”,需监听 Touch 或 Pointer 事件(推荐 Pointer,更统一):
- 在 XAML 中给
SKCanvasView添加:PointerPressed="OnPointerPressed" PointerMoved="OnPointerMoved" PointerReleased="OnPointerReleased" - 维护一个
SKPath记录当前笔迹 - 每次移动时追加点,触发
InvalidateSurface()重绘 - 在
PaintSurface中绘制该路径
注意:路径数据存在内存中,不自动持久化;若需保存,可用 SKImage.Snapshot().Encode() 导出 PNG。
常见问题提醒
- 不能在 PaintSurface 里创建新 SKPaint 实例太多次——建议复用或用 using 管理生命周期,避免 GC 压力
- Canvas 坐标是设备无关像素(DIP),但 Skia 的坐标系默认是物理像素,需通过
e.Info.Width / Width换算缩放比(尤其在高 DPI 设备上) - Android 需确保
AndroidManifest.xml中有android:hardwareAccelerated="true"(MAUI 默认已开) - 调试时可先用
SKBitmap在内存中绘图再转成SKImage,方便单元测试
基本上就这些。SkiaSharp + MAUI 的组合足够应对图表、签名板、自定义控件、游戏简单渲染等场景,不复杂但容易忽略初始化和资源管理细节。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













