Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ rgbToHsl()

static Vector3 Terraria.Main.rgbToHsl ( Microsoft::Xna::Framework::Color newColor)
inlinestatic

Definition at line 44972 of file Main.cs.

44973 {
44974 float num = (int)newColor.R;
44975 float num2 = (int)newColor.G;
44976 float num3 = (int)newColor.B;
44977 num /= 255f;
44978 num2 /= 255f;
44979 num3 /= 255f;
44980 float val = Math.Max(num, num2);
44981 val = Math.Max(val, num3);
44982 float val2 = Math.Min(num, num2);
44983 val2 = Math.Min(val2, num3);
44984 float num4 = 0f;
44985 float num5 = (val + val2) / 2f;
44986 float y;
44987 if (val == val2)
44988 {
44989 num4 = (y = 0f);
44990 }
44991 else
44992 {
44993 float num6 = val - val2;
44994 y = (((double)num5 > 0.5) ? (num6 / (2f - val - val2)) : (num6 / (val + val2)));
44995 if (val == num)
44996 {
44997 num4 = (num2 - num3) / num6 + (float)((num2 < num3) ? 6 : 0);
44998 }
44999 if (val == num2)
45000 {
45001 num4 = (num3 - num) / num6 + 2f;
45002 }
45003 if (val == num3)
45004 {
45005 num4 = (num - num2) / num6 + 4f;
45006 }
45007 num4 /= 6f;
45008 }
45009 return new Vector3(num4, y, num5);
45010 }
static byte Min(byte val1, byte val2)
Definition Math.cs:912
static byte Max(byte val1, byte val2)
Definition Math.cs:738

References System.Math.Max(), System.Math.Min(), and Microsoft.Xna.Framework.Graphics.Vector3.

Referenced by Terraria.Main.DrawClothesWindow(), Terraria.Graphics.Capture.CaptureInterface.ModeEdgeSelection.DrawCursors(), Terraria.Main.DrawHairWindow(), Terraria.Main.DrawMenu(), Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_07_LeinforsHairShampoo(), Terraria.Main.DrawProjDirect(), Terraria.Projectile.GetLastPrismHue(), Terraria.Initializers.UILinksInitializer.Load(), Terraria.GameContent.UI.States.UICharacterCreation.RgbToScaledHsl(), Terraria.DataStructures.ColorSlidersSet.SetHSL(), Terraria.Player.WingFrame(), and Terraria.Player.Yoraiz0rEye().