Как нарисовать нумерованные кнопки и сохранить их в файлах на C#

Этот пример очень похож на предыдущий Нарисуйте пронумерованные круги и сохраните их в файлах на C# , за исключением того, что рисует круги, чтобы они выглядели как пронумерованные кнопки. Следующий код показывает, как программа рисует фоны окружностей.

// Заполните фон.
const int margin = 2;
int rect_width = width - 2 * margin;
if (rect_width < 1) rect_width = 1;
Rectangle outer_rect = new Rectangle(margin, margin,
    rect_width, rect_width);
using (LinearGradientBrush bg_brush = new LinearGradientBrush(
    outer_rect, Color.White, bg_color,
    LinearGradientMode.BackwardDiagonal))
{
    gr.FillEllipse(bg_brush, outer_rect);
}

rect_width = width - 2 * (margin + border_width);
if (rect_width < 1) rect_width = 1;
Rectangle inner_rect = new Rectangle(
    margin + border_width, margin + border_width,
    rect_width, rect_width);
using (LinearGradientBrush bg_brush = new LinearGradientBrush(
    inner_rect, bg_color, Color.White,
    LinearGradientMode.BackwardDiagonal))
{
    gr.FillEllipse(bg_brush, inner_rect);
}

Чтобы сделать изображения, которые выглядят как пронумерованные кнопки, код сначала создает прямоугольник, который включает в себя область растрового изображения минус 2-пиксельное поле по краям. Он использует этот прямоугольник, чтобы заполнить фон кругом, который оттеняет белый цвет в правом верхнем углу на цвет фона в левом нижнем углу.

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

Источник: http://csharphelper.com/blog/2016/11/draw-numbered-buttons-and-save-them-into-files-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector