C# Graphics. Пример рисования свечения. Modern Design GUI.

Egolds

Активный участник
В этом видео я рисую свечение от курсора на кнопках управления окна.
Этот эффект можно также применить для любых объектов и даже для текста. А если использовать темный цвет - тогда это будет похоже на тень, что позволит создавать действительно впечатляющий графический интерфейс GUI.

 
Не очень хорошая практика, указывать более 2-3 аргументов
Код:
public static void DrawBlurredLine(Graphics graph, Color lineColor, Point p1, Point p2, int maxAlpha, int penWidth)

Вот как бы лучше было

Код:
public static void DrawBlurredLine(Graphics graph, Line line) { }

        public class Line
        {
            public Color LineColor { get; set; }
            public Point P1 { get; set; }
            public Point P2 { get; set; }
            public int MaxAlpha { get; set; }
            public int PenWidth { get; set; }
        }
 
Не очень хорошая практика, указывать более 2-3 аргументов
Код:
public static void DrawBlurredLine(Graphics graph, Color lineColor, Point p1, Point p2, int maxAlpha, int penWidth)

Вот как бы лучше было

Код:
public static void DrawBlurredLine(Graphics graph, Line line) { }

        public class Line
        {
            public Color LineColor { get; set; }
            public Point P1 { get; set; }
            public Point P2 { get; set; }
            public int MaxAlpha { get; set; }
            public int PenWidth { get; set; }
        }

Почему не очень хорошая практика?
 
Почему не очень хорошая практика?
Это написано в любой книге. И самому удобнее же, легче рефакторить
Двойное сообщение соединено:
Почему не очень хорошая практика?
 
Последнее редактирование:
Это написано в любой книге. И самому удобнее же, легче рефакторить
Двойное сообщение соединено:

В целом я с этим согласен, для более продвинутых методов я использую прием экземпляров классов, спасибо за ссылку.
Странно что, сами мелкомягкие этого не всегда придерживаются:
C#:
public static System.Windows.Forms.DialogResult Show (
string text,
string caption,
System.Windows.Forms.MessageBoxButtons buttons,
System.Windows.Forms.MessageBoxIcon icon, System.Windows.Forms.MessageBoxDefaultButton defaultButton,
System.Windows.Forms.MessageBoxOptions options,
string helpFilePath, System.Windows.Forms.HelpNavigator navigator,
object param);
 
Назад
Сверху