C#中位图getbrightness()的算法
本文关键字:算法 getbrightness 位图 | 更新日期: 2023-09-27 17:59:23
我想在java中实现一个函数,该函数计算颜色的亮度,与C#getbrightness()函数完全相同。所以我需要知道C#中使用的确切算法。这里有一些算法,但所有算法的误差都在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;
}