Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
 Аватар для dimasamchenko
336 / 269 / 21
Регистрация: 30.03.2009
Сообщений: 500

шрифт из ресурса

12.11.2010, 11:00. Показов 6706. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем!
Такая проблема, я загрузил файл фонта MyFont.ttf в ресурс. Каким образом теперь его можно достать и использовать???

C#
1
2
3
4
5
6
7
8
......
private Font MFont;
   private char[] MFF;
...............
 MFF = Properties.Resources.MyFont;
MFont = (Font)MFF;// Error! byte[] to char[] !!!!!
.............
textBox1.Font = MFont; //????
Заранее благодарен!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2010, 11:00
Ответы с готовыми решениями:

Как прикрепить к окну из ресурса меню тоже из ресурса?
Как прикрепить к окну из ресурса меню тоже из ресурса? /*http://www.lib.csu.ru/DL/bases/prg/frolov/books/bsp/v22/ch3.html*/ ...

Как в консоли автоматически выбрать шрифт Lucida Console, а не точечный шрифт?
Например №36 (размер шрифта 22х36).

Шрифт собственной страницы отличается от шрифта сайта, не смотря на то,что шрифт указан одинаково в обеих страницах
Сверстал страницу по образцу данного сайта https://www.biglion.ru/deals/pivnoy-restoran-set9-50/. Я даже указывал ссылки на шрифт, которые...

8
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
12.11.2010, 12:58
Нда, пытаться хранить ttf в char[], потом преобразовывать в Font....
Неужели вы не понимаете что это все совершенно разные вещи?
см сюда
1
 Аватар для dimasamchenko
336 / 269 / 21
Регистрация: 30.03.2009
Сообщений: 500
12.11.2010, 13:06  [ТС]
Algol36,
Цитата Сообщение от Algol36 Посмотреть сообщение
Нда, пытаться хранить ttf в char[], потом преобразовывать в Font....
Неужели вы не понимаете что это все совершенно разные вещи?
Ну извини...
Если можешь подскажи почему фонт не изменился???
Я сделал следующее...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
......
  private Font MFont;
..........
    using (MemoryStream fontStream = new MemoryStream(Properties.Resources.MyFont))
        {
        if (fontStream != null)
          {
          int fontStreamLength = (int)fontStream.Length;
 
          IntPtr data = Marshal.AllocCoTaskMem(fontStreamLength);
 
          byte[] fontData = new byte[fontStreamLength];
          fontStream.Read(fontData, 0, fontStreamLength);
 
          Marshal.Copy(fontData, 0, data, fontStreamLength);
 
          pfc.AddMemoryFont(data, fontStreamLength);
 
          MFont = new Font(pfc.Families[0], 14); // 7 -размер
 
          Marshal.FreeCoTaskMem(data);
          }
        }
 
//теперь пытаюсь изменить фонт
 
if (!richTextBox1.SelectionFont.Equals(MFont))
        {
        Font f = richTextBox1.SelectionFont;
        richTextBox1.Font = MFont;
        f.Dispose();
        }
 
//Размер поменялся а фонт нет!!!!
0
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
12.11.2010, 13:08
Properties.Resources.MyFont какого типа?
1
 Аватар для dimasamchenko
336 / 269 / 21
Регистрация: 30.03.2009
Сообщений: 500
12.11.2010, 13:18  [ТС]
Цитата Сообщение от Algol36 Посмотреть сообщение
Зачем здесь все эти Marshal и IntPtr ?
Я же вам дал ссылку, там же все понятно распиано.
Просто я нашел что-то раньше Вашей ссылки, если честно то я вообще не понял еще ничего!
Если Вам не сложно то помогите пожалуйста в этом вопросе!

Добавлено через 6 минут
Цитата Сообщение от Algol36 Посмотреть сообщение
Properties.Resources.MyFont какого типа?
я непонял, что значит типа? файл -> .ttf
0
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
12.11.2010, 13:51
Цитата Сообщение от dimasamchenko Посмотреть сообщение
Просто я нашел что-то раньше Вашей ссылки, если честно то я вообще не понял еще ничего!
Если Вам не сложно то помогите пожалуйста в этом вопросе!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Drawing.Text;
 
namespace WindowsFormsApplication25
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            //закачиваем ttf из интернет, сохраняем в файл
            string fileName = Path.GetTempFileName();
            new WebClient().DownloadFile("http://www.webpagepublicity.com/free-fonts/a/A%20Cut%20Above%20The%20Rest.ttf", fileName);
            //загружаем в коллекцию шрифтов
            PrivateFontCollection pfc = new System.Drawing.Text.PrivateFontCollection();
            pfc.AddFontFile(fileName);
            //создаем фонт
            Font myFont = new Font(pfc.Families[0], 16f, FontStyle.Regular, GraphicsUnit.Point, 0);
            //создаем текстбокс с нужным шрифтом
            TextBox tb = new TextBox();
            tb.Parent = this;
            tb.Font = myFont;
            tb.Text = "Hello!";
        }
    }
}
1
 Аватар для dimasamchenko
336 / 269 / 21
Регистрация: 30.03.2009
Сообщений: 500
12.11.2010, 14:01  [ТС]
Algol36, Из файла отлично получилось!!! Тысяча раз благодарю!!!
Попробовал из ресурса - не получается...
Не подскажете, как-же всетаки подгрузить из ресурса??
т.е. использовать
C#
1
privateFontCollection.AddMemoryFont
0
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
12.11.2010, 14:45
Цитата Сообщение от dimasamchenko Посмотреть сообщение
Не подскажете, как-же всетаки подгрузить из ресурса??
Самое простое - сохранить в файл:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Drawing.Text;
 
namespace WindowsFormsApplication25
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            //записываем ttf из ресурсов в файл
            string fileName = Path.GetTempFileName();
            File.WriteAllBytes(fileName, Properties.Resources.Adobe);
            //загружаем в коллекцию шрифтов
            PrivateFontCollection pfc = new System.Drawing.Text.PrivateFontCollection();
            pfc.AddFontFile(fileName);
            //создаем фонт
            Font myFont = new Font(pfc.Families[0], 16f, FontStyle.Regular, GraphicsUnit.Point, 0);
            //создаем текстбокс с нужным шрифтом
            TextBox tb = new TextBox();
            tb.Parent = this;
            tb.Font = myFont;
            tb.Text = "Hello!";
        }
    }
}
3
 Аватар для dimasamchenko
336 / 269 / 21
Регистрация: 30.03.2009
Сообщений: 500
12.11.2010, 14:55  [ТС]
Algol36, Благодарю Вас! Неплохо получилось!!!
C#
1
string fileName = Path.GetTempFileName();
- прикольная штука, раньше не знал...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2010, 14:55
Помогаю со студенческими работами здесь

Шрифт. как интегрировать нестандартный шрифт в БД?
Скажите пожалуйста, можно ли как-то интегрировать нестандартный шрифт в базу данных?

8x8 стандартныый растровый шрифт что это? Это значит шрифт Lucida 8 pt?
Пишу программку но не могу разобраться с этим понятием

Слив ресурса
Здрасте. Можно ли как-то слить движок этого ашрама для медитации?(имея только вход туда) http://ramadivineleela.com/ashram/ Чтобы он был...

Добавление ресурса
Здравствуйте. У меня есть готовый проект WinAPI, но я не могу разобраться, как с помощью ResEdit добавить к нему ресур. Точнее я не могу...

Идентификатор ресурса
Могу ли я быть уверен, что, если я создал некоторый ресурс и больше не прикасался к нему (не менял самостоятельно id / не удалял, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru