Fixed wrong average calulcation

This commit is contained in:
Darth Affe 2024-07-06 17:11:20 +02:00
parent 696f3b955f
commit 1ec67c4d4b
2 changed files with 19 additions and 19 deletions

View File

@ -9,10 +9,10 @@ public static partial class ReferencePixelHelper
float count = image.Width * image.Height;
ISum sum = Sum(image);
return new ColorRGBA((sum.R / count).GetByteValueFromPercentage(),
(sum.G / count).GetByteValueFromPercentage(),
(sum.B / count).GetByteValueFromPercentage(),
(sum.A / count).GetByteValueFromPercentage());
return new ColorRGBA((byte)(sum.R / count),
(byte)(sum.G / count),
(byte)(sum.B / count),
(byte)(sum.A / count));
}
public static T Average<T>(RefImage<T> image)
@ -21,10 +21,10 @@ public static partial class ReferencePixelHelper
float count = image.Width * image.Height;
ISum sum = Sum(image);
return (T)T.Create((sum.R / count).GetByteValueFromPercentage(),
(sum.G / count).GetByteValueFromPercentage(),
(sum.B / count).GetByteValueFromPercentage(),
(sum.A / count).GetByteValueFromPercentage());
return (T)T.Create((byte)(sum.R / count),
(byte)(sum.G / count),
(byte)(sum.B / count),
(byte)(sum.A / count));
}
public static T Average<T>(ReadOnlySpan<T> colors)
@ -33,10 +33,10 @@ public static partial class ReferencePixelHelper
float count = colors.Length;
ISum sum = Sum(colors);
return (T)T.Create((sum.R / count).GetByteValueFromPercentage(),
(sum.G / count).GetByteValueFromPercentage(),
(sum.B / count).GetByteValueFromPercentage(),
(sum.A / count).GetByteValueFromPercentage());
return (T)T.Create((byte)(sum.R / count),
(byte)(sum.G / count),
(byte)(sum.B / count),
(byte)(sum.A / count));
}
#endregion

View File

@ -65,9 +65,9 @@ public static partial class PixelHelper
Generic4LongData sum = Sum(data);
float count = data.Length;
return new Generic3ByteData((sum.L1 / count).GetByteValueFromPercentage(),
(sum.L2 / count).GetByteValueFromPercentage(),
(sum.L3 / count).GetByteValueFromPercentage());
return new Generic3ByteData((byte)(sum.L1 / count),
(byte)(sum.L2 / count),
(byte)(sum.L3 / count));
}
internal static Generic4ByteData Average(ReadOnlySpan<Generic4ByteData> data)
@ -79,10 +79,10 @@ public static partial class PixelHelper
Generic4LongData sum = Sum(data);
float count = data.Length;
return new Generic4ByteData((sum.L1 / count).GetByteValueFromPercentage(),
(sum.L2 / count).GetByteValueFromPercentage(),
(sum.L3 / count).GetByteValueFromPercentage(),
(sum.L4 / count).GetByteValueFromPercentage());
return new Generic4ByteData((byte)(sum.L1 / count),
(byte)(sum.L2 / count),
(byte)(sum.L3 / count),
(byte)(sum.L4 / count));
}
#endregion