c# - C#中位图getbrightness()算法

标签 c#

我想在 java 中实现一个函数来计算颜色的亮度,与 C# getbrightness() 函数完全相同。所以我需要知道在 C# 中使用的确切算法。有一些算法here但它们都有大约 5% 的误差。

最佳答案

使用官方来源: http://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Color.cs#23adaaa39209cc1f

public float GetBrightness()
{
    float r = (float)R / 255.0f;
    float g = (float)G / 255.0f;
    float b = (float)B / 255.0f;

    float max, min;

    max = r; min = r;

    if (g > max) max = g;
    if (b > max) max = b;

    if (g < min) min = g;
    if (b < min) min = b;

    return (max + min) / 2;
}

关于c# - C#中位图getbrightness()算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215600/

相关文章:

c# - 使用 PRISM 的 MVVM 模式上下文中的命令方法是什么?

c# - 序列化时 ValueTuples 会丢失其属性名称

c# - jquery ajax调用返回值

javascript - Ajax 向 Controller 发送空字符串?

c# - Autofac - 解决多线程环境中的依赖关系

c# - 插入多行的最快方法

c# - .NET Framework (4.8) 的 Cake runner 不获取环境变量

c# - 在 c# 中需要有关多播 udp 服务器发现的帮助

c# - 使用委托(delegate)类型与方法

c# - 如何找到可用于 VS2008 的异常名称(在智能感知中)