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

コンピュータ

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

ソースコード

ファイル名:Form1.cs

using System.Drawing.Drawing2D;

namespace FileIcon;

public partial class Form1 : Form
{
    // 256x265 ファイルアイコン
    public Bitmap DrawFileIcon()
    {
        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.AddLines(new Point[]
        {
            new Point(210, 50), new Point(180, 50),
            new Point(180, 20),
        });
        path1.AddLines(new Point[]
        {
            new Point(40, 20), new Point(40, 240),
            new Point(210, 240), new Point(210, 50),
            new Point(180, 20),
        });
        path1.CloseFigure();
        g.DrawPath(pen, path1);

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

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

コメント