示例#1
0
        internal static void Write(BinaryWriter writer, OscColor value)
        {
            uint intValue = unchecked ((uint)(
                                           ((byte)value.R << 24) |
                                           ((byte)value.G << 16) |
                                           ((byte)value.B << 8) |
                                           ((byte)value.A << 0)));

            Write(writer, intValue);
        }
示例#2
0
        internal static OscColor ReadColor(System.IO.BinaryReader reader)
        {
            uint value = ReadUInt32(reader);

            byte a, r, g, b;

            r = (byte)((value & 0xFF000000) >> 24);
            g = (byte)((value & 0x00FF0000) >> 16);
            b = (byte)((value & 0x0000FF00) >> 8);
            a = (byte)(value & 0x000000FF);

            return(OscColor.FromArgb(a, r, g, b));
        }
示例#3
0
        public static object ParseColor(string str, IFormatProvider provider)
        {
            string[] pieces = str.Split(',');

            if (pieces.Length == 4)
            {
                byte a, r, g, b;

                r = byte.Parse(pieces[0].Trim(), System.Globalization.NumberStyles.None, provider);
                g = byte.Parse(pieces[1].Trim(), System.Globalization.NumberStyles.None, provider);
                b = byte.Parse(pieces[2].Trim(), System.Globalization.NumberStyles.None, provider);
                a = byte.Parse(pieces[3].Trim(), System.Globalization.NumberStyles.None, provider);

                return(OscColor.FromArgb(a, r, g, b));
            }
            else
            {
                throw new Exception(String.Format(Strings.Parser_InvalidColor, str));
            }
        }
示例#4
0
 public static string ToStringColor(OscColor color)
 {
     return(String.Format("{0}, {1}, {2}, {3}", color.R, color.G, color.B, color.A));
 }