У меня есть массив байтов в ресурсах приложения. Это особый стиль шрифта. Я хочу преобразовать этот массив байтов в System.Windows.Media.FontFamily
.Преобразование байт [] в System.Windows.Media.FontFamily с использованием C#
Мой код:
byte[] fontdata = Application_IAD.Properties.Resources.Sansation_Regular;
unsafe
{
fixed (byte* pFontData = fontdata)
{
pfc.AddMemoryFont((System.IntPtr)pFontData, fontdata.Length);
}
}
С помощью этого кода, у меня есть Sytem.Drawing.FontFamily
, но я не могу преобразовать его в System.Windows.Media.FontFamily
.
Вы можете мне помочь?
Неправильный код, указатель, который вы передаете * должен * оставаться действительным до тех пор, пока используется шрифт. Это не так, сборщик мусора гасит его, когда он уплотняет кучу. Google «addmemoryfont marshal.alloccotaskmem», избегайте * многих * багги-примеров, которые сразу же называют Marshal.FreeCoTaskMem(). –
Почему бы вам просто не упаковать 'Font' с приложением? Читайте здесь: https://msdn.microsoft.com/library/ms753303(v=vs.100).aspx – Jasper
С веб-сайтом, который вы мне даете, я не могу заставить Джаспера помочь вам? – Moussawi