345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
||||||
1 | ||||||
Загрузить свой шрифт из ресурсов05.06.2017, 05:56. Показов 6822. Ответов 6
Метки нет (Все метки)
Задача - вставить свой шрифт в программу, чтобы получился только ехе-шник без лишних файлов\папок со шрифтами.
Закинул shtrixmicro.ttf в папку Fonts в директории с проектом. Создал файл fonts.rc, внутри "SHTRIXMICRO RT_FONT Fonts/shtrixmicro.ttf" (еще пробовал RT_RCDATA) Добавил в проект Project->Add To Project->fonts.rc Использую функцию Код:
Когда указываю на файл(вставляю закомментированную строку), всё работает. Но ведь в описании функции ясно сказано, первый параметр "A pointer to a font resource". Что ж она файл просит? C++ Builder Embarcadero Rad Studio 2010 Добавлено через 26 минут Для проверки, подсовывал неверный путь Fonts1111/shtrixmicro.ttf, тогда компилятор ругается "не найден файл", значит, здесь всё нормально.
1
|
05.06.2017, 05:56 | |
Ответы с готовыми решениями:
6
Шрифт из ресурсов Шрифт из ресурсов Шрифт из ресурсов (окно, HDC) Загрузить DLL из ресурсов |
Супер-модератор
|
||||||
05.06.2017, 09:37 | 2 | |||||
Сообщение было отмечено +1 как решение
Решение
Это у AddFontMemResourceEx.
Я делал так: RC-файл Код
MY_FONT RCDATA "шрифт.ttf"
4
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|||||||||||
05.06.2017, 11:56 [ТС] | 3 | ||||||||||
Не сразу, но получилось.
Добавил
Только я вот тут не совсем понял Погуглил, сделал так:
1
|
Супер-модератор
|
||||||
05.06.2017, 12:22 | 4 | |||||
Сообщение было отмечено +1 как решение
Решение
Нет. Вот так правильно:
2
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|
07.06.2017, 09:20 [ТС] | 5 |
А как загрузить сразу несколько шрифтов?
Зациклить и каждый раз снова объявлять новый ResourceStream? Подозреваю, что это неправильное решение )
0
|
Супер-модератор
|
|
07.06.2017, 10:47 | 6 |
С чего бы это оно неправильное? Если тебе надо открыть несколько фотографий, ты что, их все склеиваешь в одну, и потом открываешь, или все-таки открываешь по очереди? (не путай с тем, что ты выделяешь в проводнике все скопом и нажимаешь на Enter, под капотом это все равно то же самое - каждый файл из списка открывается по отдельности). Так что от цикла никуда не уйдешь. Да и AddFontMemResourceEx не очень-то приспособлен, чтобы сразу несколько шрифтов обрабатывать, не умеет она этого делать.
0
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|
07.06.2017, 12:06 [ТС] | 7 |
Я про загрузку памяти. Думал, может, загрузил один шрифт, потом в этот же ресурс кидаем другой шрифт и т.д.
Значит, после каждой итерации удалять использованный стрим и объявлять другой? Вроде ясно.
0
|
07.06.2017, 12:06 | |
07.06.2017, 12:06 | |
Помогаю со студенческими работами здесь
7
Загрузить картинку из ресурсов Свой шрифт в консоли Как загрузить шрифт из файла Загрузить img из ресурсов по названию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |