Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.07 KB | None | 0 0
  1. [StructLayout(LayoutKind.Explicit)]
  2.         public struct CommonDenominatorBetweenColoursAndDoubles
  3.         {
  4.             [FieldOffset(0)]
  5.             public byte R;
  6.             [FieldOffset(1)]
  7.             public byte G;
  8.             [FieldOffset(2)]
  9.             public byte B;
  10.  
  11.             [FieldOffset(0)]
  12.             public double AsDouble;
  13.         }
  14.  
  15.         public static double ToDouble(this Color @this)
  16.         {
  17.             CommonDenominatorBetweenColoursAndDoubles denom = new CommonDenominatorBetweenColoursAndDoubles();
  18.  
  19.             denom.R = (byte)@this.R;
  20.             denom.G = (byte)@this.G;
  21.             denom.B = (byte)@this.B;
  22.  
  23.             double result = denom.AsDouble;
  24.             return result;
  25.         }
  26.  
  27.         public static Color ToColor(this double @this)
  28.         {
  29.             CommonDenominatorBetweenColoursAndDoubles denom = new CommonDenominatorBetweenColoursAndDoubles();
  30.  
  31.             denom.AsDouble = @this;
  32.  
  33.             Color color = Color.FromArgb(red: denom.R, green: denom.G, blue: denom.B);
  34.             return color;
  35.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement