getting closer to alpha working
This commit is contained in:
parent
5bb82bf230
commit
dd848d6639
1 changed files with 8 additions and 4 deletions
|
|
@ -287,23 +287,27 @@ namespace MatterHackers.MatterControl.DesignTools
|
||||||
AlphaImage.Allocate(SourceImage.Width, SourceImage.Height, SourceImage.BitDepth, SourceImage.GetRecieveBlender());
|
AlphaImage.Allocate(SourceImage.Width, SourceImage.Height, SourceImage.BitDepth, SourceImage.GetRecieveBlender());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var startInt = (int)(RangeStart * 255);
|
||||||
|
var endInt = (int)(RangeEnd * 255);
|
||||||
|
var rangeInt = (int)((RangeEnd - RangeStart) * 255);
|
||||||
|
|
||||||
byte GetAlphaFromIntensity(byte r, byte g, byte b)
|
byte GetAlphaFromIntensity(byte r, byte g, byte b)
|
||||||
{
|
{
|
||||||
// return (color.Red0To1 * 0.2989) + (color.Green0To1 * 0.1140) + (color.Blue0To1 * 0.5870);
|
// return (color.Red0To1 * 0.2989) + (color.Green0To1 * 0.1140) + (color.Blue0To1 * 0.5870);
|
||||||
var alpha = (r * 76 + g * 29 + b * 150) / 255;
|
var alpha = (r * 76 + g * 29 + b * 150) / 255;
|
||||||
if (alpha < RangeStart)
|
if (alpha < startInt)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (alpha > RangeEnd)
|
else if (alpha > endInt)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var s1 = (byte)Math.Min(255, ((alpha - RangeStart) * 255 / (RangeEnd - RangeStart)));
|
var s1 = (byte)Math.Min(255, ((alpha - startInt) * 255 / rangeInt));
|
||||||
|
|
||||||
var s2 = (double)(alpha - RangeStart) / (double)(RangeEnd - RangeStart);
|
var s2 = (double)(alpha / 255.0 - RangeStart) / (double)(RangeEnd - RangeStart);
|
||||||
|
|
||||||
|
|
||||||
return s1;
|
return s1;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue