Example #1
0
        /// <summary>
        /// Devuelve una cadena con el estilo preparado para un script ASS: "Style: Default,Arial,20...".
        /// </summary>
        public override string ToString()
        {
            var _Bold        = 0;
            var _Italic      = 0;
            var _Underline   = 0;
            var _StrikeOut   = 0;
            var _BorderStyle = 1;
            var _Alignment   = 5;
            var _Encoding    = 1;
            var _Color1      = "";
            var _Color2      = "";
            var _Color3      = "";
            var _Color4      = "";

            if (Bold)
            {
                _Bold = -1;
            }

            if (Italic)
            {
                _Italic = -1;
            }

            if (Underline)
            {
                _Underline = -1;
            }

            if (StrikeOut)
            {
                _StrikeOut = -1;
            }

            if (BorderStyle)
            {
                _BorderStyle = 3;
            }

            _Alignment = AlignmentInfo.AlignmentToInt(Alignment);
            _Encoding  = (int)Encoding;

            _Color1 = string.Format("&H{0:00}{1:00}{2:00}{3:00}",
                                    Maths.IntToHex(PrimaryAlpha),
                                    Maths.IntToHex(PrimaryColor.Blue),
                                    Maths.IntToHex(PrimaryColor.Green),
                                    Maths.IntToHex(PrimaryColor.Red));

            _Color2 = string.Format("&H{0:00}{1:00}{2:00}{3:00}",
                                    Maths.IntToHex(SecondaryAlpha),
                                    Maths.IntToHex(SecondaryColor.Blue),
                                    Maths.IntToHex(SecondaryColor.Green),
                                    Maths.IntToHex(SecondaryColor.Red));

            _Color3 = string.Format("&H{0:00}{1:00}{2:00}{3:00}",
                                    Maths.IntToHex(OutlineAlpha),
                                    Maths.IntToHex(OutlineColor.Blue),
                                    Maths.IntToHex(OutlineColor.Green),
                                    Maths.IntToHex(OutlineColor.Red));

            _Color4 = string.Format("&H{0:00}{1:00}{2:00}{3:00}",
                                    Maths.IntToHex(BackAlpha),
                                    Maths.IntToHex(BackColor.Blue),
                                    Maths.IntToHex(BackColor.Green),
                                    Maths.IntToHex(BackColor.Red));

            return(string.Format("Style: {0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21},{22}", Name, FontName, FontSize, _Color1, _Color2, _Color3, _Color4, _Bold, _Italic, _Underline, _StrikeOut, ScaleX, ScaleY, Spacing, Angle, _BorderStyle, Outline, Shadow, _Alignment, MarginLeft, MarginRight, MarginVertical, _Encoding));
        }