C#パスを使って図形を描く「フォルダーアイコン」

コンピュータ

フォルダーアイコンをパスを使って描画してみます。

ソースコード

ファイル名:Form1.cs

using System.Drawing.Drawing2D;

namespace FolderIcon;

public partial class Form1 : Form
{
    // 256x265 フォルダーアイコン
    public Bitmap DrawFolderIcon()
    {
        Bitmap canvas = new(256, 256);
        using var g = Graphics.FromImage(canvas);
        var brush = new SolidBrush(Color.FromArgb(0,255,255,255));
        g.FillRectangle(brush, 0, 0, 255, 255);
        using var pen = new Pen(Color.Black, 6);
        var path1 = new GraphicsPath();

        path1.StartFigure();
        path1.AddLines(new Point[]
        {
            new Point(10, 80), new Point(10, 240),
            new Point(240, 240), new Point(240, 80),
            new Point(100, 80), new Point(80, 60),
            new Point(30, 60),
        });
        path1.CloseFigure();
        g.DrawPath(pen, path1);

        return canvas;
    }
    public Form1()
    {
        InitializeComponent();

        var picbox1 = new PictureBox
        {
            Dock = DockStyle.Fill,
            SizeMode = PictureBoxSizeMode.CenterImage,
            Image = DrawFolderIcon(),
        };
        Controls.Add(picbox1);
    }
}
ソースコードのダウンロード

コメント