C# Language
フォントリソースを含む
サーチ…
パラメーター
パラメータ | 詳細 |
---|---|
フォントバイト | バイナリからバイト配列.ttf |
リソースから 'Fontfamily'をインスタンス化する
public FontFamily Maneteke = GetResourceFontFamily(Properties.Resources.manteka);
統合方法
public static FontFamily GetResourceFontFamily(byte[] fontbytes)
{
PrivateFontCollection pfc = new PrivateFontCollection();
IntPtr fontMemPointer = Marshal.AllocCoTaskMem(fontbytes.Length);
Marshal.Copy(fontbytes, 0, fontMemPointer, fontbytes.Length);
pfc.AddMemoryFont(fontMemPointer, fontbytes.Length);
Marshal.FreeCoTaskMem(fontMemPointer);
return pfc.Families[0];
}
'ボタン'での使用
public static class Res
{
/// <summary>
/// URL: https://www.behance.net/gallery/2846011/Manteka
/// </summary>
public static FontFamily Maneteke = GetResourceFontFamily(Properties.Resources.manteka);
public static FontFamily GetResourceFontFamily(byte[] fontbytes)
{
PrivateFontCollection pfc = new PrivateFontCollection();
IntPtr fontMemPointer = Marshal.AllocCoTaskMem(fontbytes.Length);
Marshal.Copy(fontbytes, 0, fontMemPointer, fontbytes.Length);
pfc.AddMemoryFont(fontMemPointer, fontbytes.Length);
Marshal.FreeCoTaskMem(fontMemPointer);
return pfc.Families[0];
}
}
public class FlatButton : Button
{
public FlatButton() : base()
{
Font = new Font(Res.Maneteke, Font.Size);
}
protected override void OnFontChanged(EventArgs e)
{
base.OnFontChanged(e);
this.Font = new Font(Res.Maneteke, this.Font.Size);
}
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow