Использование шрифта из ресурса - C#

Узнай цену своей работы

Формулировка задачи:

Можно ли добавить шрифт в ресурс, а после использовать его? Что бы вместо
public static Font text_data = new Font("Tahoma", 8, FontStyle.Regular);
Было что-то вроде
public static Font text_data = new Font(WindowsFormsApplication1.Properties.Resources.PLUMB-BO, 8, FontStyle.Regular);
гден шрифт в ресурсах - PLUMB-BO.PFM или PLUMB-BO.PFB?

Решение задачи: «Использование шрифта из ресурса»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Text;
using System.Resources;
using System.Reflection;
using System.Runtime.InteropServices;
 
namespace FontTest
{
    public partial class Form1 : Form
    {
 
        [DllImport("gdi32.dll")]
        private static extern IntPtr AddFontMemResourceEx(IntPtr pbFont, uint cbFont,
            IntPtr pdv, [In] ref uint pcFonts);
 
        public Form1()
        {
            InitializeComponent();
 
            PrivateFontCollection pfc = new PrivateFontCollection();
            byte[] crysta = Properties.Resources.Crysta;
            unsafe
            {
                fixed (Byte* pFontData = crysta)
                {
                    pfc.AddMemoryFont((IntPtr)pFontData, crysta.Length);
                    uint InstallCount = 1;
                    AddFontMemResourceEx((IntPtr)pFontData, (uint)crysta.Length, IntPtr.Zero, ref InstallCount);
                }                
            }
            label1.Font = new Font(pfc.Families[0], 14, FontStyle.Italic);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.111 из 5
Похожие ответы