c# - 在 UWP C# 中从图像中获取主色

标签 c# bitmap uwp windows-10-universal

基本上,我有一个允许用户打开图像文件(.jpg、.jpeg、.png)的 UWP 应用,我需要从该图像中检测主色。

我找到了使用 System.Drawing 的 GDI+ 解决方案,但这在 UWP 中不可用。我在 Win2D 中找不到任何类似的引用资料。那么有没有办法从直方图中获取主色呢?

我始终可以使用任何 Web 服务并使用 python 或 node.js 等完成此操作,但我想在 UWP 应用程序内本地完成,而不需要互联网。

感谢任何帮助!

最佳答案

我们是通过以下方式做到的:

对于每个像素: 转换为 HSL。使用 H 和 S 来确定颜色。使用 L 确定强度。将由 H 和 S 索引的二维矩阵中的所有 a 求和。

找出矩阵中的最大值。那是你的主色调。

关于c# - 在 UWP C# 中从图像中获取主色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51016129/

相关文章:

android - 如何将 PictureDrawable 转换为位图

android - 将简单图像转换为灰度

Android 如何在位图 xml 中设置不透明度

listview - 为什么 DataContext 为 ListView 项中的项返回空值?

c# - 像 ForEach 一样使用 List<T>.RemoveAll 有什么缺点?

c# - 使 slider 使用现有的 IValueConverter

windows - UWP 应用程序安装无需管理员权限、powershell 交互且无需 Windows 应用商店?

c# - 如何处理 GridColums 和 Rows?

c# - 为什么我在 Azure Function 中使用 async/Task 时出错,但在 Console App 中使用时却没有错误?

c# - 将 Umbraco 网站复制到另一个帐户