c# - 如何在 C# 中向图标添加文本?

标签 c# .net wpf gdi+ gdi

我想在系统托盘中显示一个图标 [一个 .ico 文件],并在运行时向其添加一些文本。 有什么 native WPF 方法可以做到吗?或 GDI+ 的片段也将不胜感激。

谢谢。

最佳答案

这是对我有用的代码,

public static Icon GetIcon(string text)
{
    //Create bitmap, kind of canvas
    Bitmap bitmap = new Bitmap(32, 32);

    Icon icon = new Icon(@"Images\PomoDomo.ico");
    System.Drawing.Font drawFont = new System.Drawing.Font("Calibri", 16, FontStyle.Bold);
    System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.White);

    System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap);

    graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel;
    graphics.DrawIcon(icon, 0, 0);            
    graphics.DrawString(text, drawFont, drawBrush, 1, 2);

    //To Save icon to disk
    bitmap.Save("icon.ico", System.Drawing.Imaging.ImageFormat.Icon);

    Icon createdIcon = Icon.FromHandle(bitmap.GetHicon());

    drawFont.Dispose();
    drawBrush.Dispose();
    graphics.Dispose();
    bitmap.Dispose();

    return createdIcon;
}

关于c# - 如何在 C# 中向图标添加文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5957984/

相关文章:

c# - 为什么要使用 Expression<Func<T>> 而不是 Func<T>?

c# - 看门狗桌面应用程序的最佳方式是什么?

.net - HttpClient 在高负载下不执行

c# - 列表框的多数据触发条件来检查是否选择了某个项目

c# - 如何将 EF 中的 DDD 值对象映射到不同的表?

c# - 错误 400 - 使用 Microsoft Graph 错误请求创建用户

.net - 正确支持 WPF 的混淆器

wpf - ObservableCollection<T> 不更新 UI

wpf - 可以在给定区域而不是整个 WPF 控件上使用 InvalidateVisual() 吗?

c# - 使用 C# 以编程方式更新 xml