• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Проблема с кастомными шрифтами

GodFull
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
27 Июл 2020
Сообщения
502
Реакции
128
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пытаюсь подключить кастомные шрифты из ресурсов проекта


Склепал функцию с гайдов из интернета

C#:
Expand Collapse Copy
      void CustomFontTest(int fontLenght, byte[] fontData, Label label, int FontSize)
        {
            PrivateFontCollection pfc = new PrivateFontCollection();

            int fontLength = fontLenght;
            byte[] fontdata = fontData;

            System.IntPtr data = Marshal.AllocCoTaskMem(fontLength);
            Marshal.Copy(fontdata, 0, data, fontLength);

            pfc.AddMemoryFont(data, fontLength);

            label.Font = new Font(pfc.Families[0], FontSize);
        }

Использую так -> CustomFontTest(Properties.Resources.MuseoSansCyrl_2.Length, Properties.Resources.MuseoSansCyrl_2, customLabel3, 11);

Также сделал кастомный label с сглаживанием текста

Код:
Expand Collapse Copy
public class CustomLabel : Label
    {
        private TextRenderingHint _hint = TextRenderingHint.AntiAlias;
        public TextRenderingHint TextRenderingHint
        {
            get { return this._hint; }
            set { this._hint = value; }
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.TextRenderingHint = TextRenderingHint;
            base.OnPaint(e);
        }
    }

Все работает но когда я пытаюсь подключить шрифты к более чем 15 лабелям мне кидает ошибку:
Пожалуйста, авторизуйтесь для просмотра ссылки.
:
'Была сделана попытка чтения или записи в защищенную память. Это часто указывает на то, что память другая.
Ошибку кидает в районе кода с кастомным лабелем

Запуск от имени админа не помогает, менял через манифест

Не знаю что делать, менять все лабели на стандартные?
UPD теперь проблема с любым количеством лабелев
 
Назад
Сверху Снизу