您的位置:首页 > 编程语言 > C#

[转]将字体嵌入程序资源中 C# Winform

2014-06-13 08:30 591 查看
http://social.msdn.microsoft.com/Forums/officeapps/zh-CN/61b717ae-f925-443a-baad-2b85f2564826/cwinformsvs2010

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
PrivateFontCollection pfc = new PrivateFontCollection();

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
string fontName = "WindowsFormsApplication2.汉仪水波体简.ttf";

Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(fontName);

byte[] fontData = new byte[stream.Length];

stream.Read(fontData, 0, (int)stream.Length);
stream.Close();

unsafe
{

fixed (byte* pFontData = fontData)
{
pfc.AddMemoryFont((System.IntPtr)pFontData, fontData.Length);
}
}
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Font font = new Font(pfc.Families[0], 20);
g.DrawString("测试文字", font, new SolidBrush(Color.Black), 200, 100);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: