我一直在尝试在我的 WinForm 应用程序上获取自定义字体。然而,似乎无论我做什么,字体都无法正确呈现。它确实.ttf
显示在我的标签上,只是不太好。
这是我得到的结果:
底部的两个标签“0%”和“2.6MB”都是“Courier New”。一旦我正确渲染了顶部标签,我就会切换它们。
我的代码与上述答案几乎相同(以下所有代码都在FormLoad中运行):
// Create a private font collection object.
PrivateFontCollection pfc = new PrivateFontCollection();
// Select the font from 'Resources'.
// My font here is "Volter__28Goldfish_29.ttf".
int fontLength = Properties.Resources.Volter__28Goldfish_29.Length;
// Create a buffer to read in to.
byte[] fontdata = Properties.Resources.Volter__28Goldfish_29;
// Create an unsafe memory block for the font data.
IntPtr data = Marshal.AllocCoTaskMem(fontLength);
// Copy the bytes to the unsafe memory block.
Marshal.Copy(fontdata, 0, data, fontLength);
// Pass the font to the font collection.
pfc.AddMemoryFont(data, fontLength);
// Set custom font.
lblUpdate.Font = new Font(pfc.Families[0], 8);
侃侃尔雅
相关分类