Files
@ dd8780bb11c5
Branch filter:
Location: ATITD-Tools/Desert-Paint-Codex/Util/PixelColor.cs - annotation
dd8780bb11c5
1.2 KiB
text/x-csharp
Correct an error when computing the clipped value on white shifts. It was incorrectly detecting a white shift on single-color clips, resulting in a bad reaction computation. Also don't display the wrong 'observed' color after clearing a reaction.
40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 7117d2e703c8 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 7117d2e703c8 40eaee10ae56 7117d2e703c8 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 7117d2e703c8 40eaee10ae56 40eaee10ae56 40eaee10ae56 7117d2e703c8 40eaee10ae56 40eaee10ae56 40eaee10ae56 7117d2e703c8 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 | using System;
using System.Drawing;
using DesertPaintCodex.Services;
namespace DesertPaintCodex.Util
{
public class PixelColor
{
private const int ColorTolerance = 2;
public static bool IsMatch(Color colorA, Color colorB)
{
return ((Math.Abs(colorA.R - colorB.R) <= ColorTolerance) &&
(Math.Abs(colorA.G - colorB.G) <= ColorTolerance) &&
(Math.Abs(colorA.B - colorB.B) <= ColorTolerance));
}
public static bool IsDark(Color color)
{
return (color.R < 0x47) && (color.G < 0x47) && (color.B < 0x47);
}
public static bool IsUiBackground(Color color)
{
return (color.R is >= 0x27 and <= 0x2F) && (color.G is >= 0x3B and <= 0x42) && (color.B is >= 0x41 and <= 0x48);
}
public static bool IsRed(Color color)
{
return (color.R > 0x9D) && (color.G < 0x60) && (color.B < 0x60);
}
public static bool IsGreen(Color color)
{
return (color.R < 0x60) && (color.G > 0x9D) && (color.B < 0x60);
}
public static bool IsBlue(Color color)
{
return (color.R < 0x60) && (color.G < 0x60) && (color.B > 0x9D);
}
}
}
|