基于SkiaSharp的Xamarin.Forms颜色选择器

本文介绍了如何基于SkiaSharp为Xamarin.Forms创建一个颜色选择器,包括一个使用SweepGradient实现的色轮。内容涉及SkiaSharp的基本概念、判断触控点是否在圆内的算法以及根据触控点读取颜色的方法,并提供了源代码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

由于Xamrin.Forms没有比较好看的ColorPicker,Github找了好久终于一个比较满意的Demo, 这个demo基于SkiaSharp实现了一个基于弹窗式的颜色选择器,效果图见下文CircleColorPicker。于是本文基于这个demo进行了扩展并用SkiaSharp的SweepGradient实现了一个色轮选择器WheelColorPicker分享给大家,本文的源代码请在这里下载或在文章末尾下载。

效果图

Android iOS
CircleColorPicker
WheelColorPicker

什么是SkiaSharp?

SkiaSharp 是.NET 和 C# 由 Google 产品中广泛使用的开放源代码 Skia 图形引擎提供支持的 2D 图形系统。 可以在 Xamarin.Forms 应用程序中使用 SkiaSharp 绘制 2D 矢量图形、 位图和文本。它和Winform.Forms年代的GDI+有点类似,熟悉GDI+的类似,基本就是定义一个绘图“画布”(如:SKCanvasView或者SKGLView),然后在这些画布的重绘制事件上通过组合不同的“画笔(SKPaint)”和“元素(DrawLine/DrawCircle…)”进行画画。

Xamarin.Forms项目可以通过Nuget上查找SkiaSharp.Views.Forms进行安装。

关于SkiaSharp的详细资料可以参考这里:
h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值