|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.07.2013, 11:49 | #1 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Delphi и TTF
Приветствую.
Стоит задача извлечь символы из файла шрифтов ttf(1) и привести символы к бинарному виду(2). Можеть быть кто-то знает как решить подзадачу 1 без особых умственных усилий?
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
24.07.2013, 12:15 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Думаю, что шрифт это некая разновидность векторной графики, которую windows использует, потому просто и без особого использования мозга - не получится.
Алсо есть готовый сабж для работы с TTF http://ru.wikipedia.org/wiki/FreeType |
24.07.2013, 12:42 | #3 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
На FreeType я как раз нарвался и даже для дельфи нашел портированный вариант, но пока скомпилировать демку и библиотеку не удалось - выдает не ведомые мне ошибки. Хотя может быть будет достаточно использовать скомпилированную библиотеку freetype.dll...
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
24.07.2013, 13:41 | #4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
А что такое "бинарный вид" в данном случае ?
А то я работал над штукой для загрузки произвольного ttf в дельфишный объект TFont , которым после загрузки, можно нарисовать/написать куда захочется, например на битмап. |
24.07.2013, 23:16 | #5 | ||
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Цитата:
Например, есть картинка единицы в ttf, а в бинарном в данном контексте - 00000000 00110000 11110000 00110000 00110000 00110000 00110000 Т.е. изображение преобразовать в массив строк, где зарисованная часть картинки представлена "1", а пустоты "0". Цитата:
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
||
24.07.2013, 23:58 | #6 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Как вариант: Создаете BMP Канве этого BMP присваиваете нужный вам шрифт, и рисуете нужный символ. Далее сохраняете BMP файл в MemoryStream и переводите байты в двоичную систему. Если нужен только сам символ, то устанавливаете цвет канвы(белый), цвет шрифта - черный, теперь циклом проходитесь по нарисованному, и все, что не равно белому - считать частью символа. Далее массив перегоняете в 0 и 1. Последний раз редактировалось Человек_Борща; 25.07.2013 в 00:07. |
|
25.07.2013, 06:19 | #7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
Каждый размер шрифта будет давать разный "бинарный вид" в таком случае, приглядитесь хотя бы в ворде - там появляются и исчезают пиксели при изменении размеров шрифта, ибо векторное изображение буквы "растрируется" в пиксели по некоему алгоритму, а ещё поверх может быть применено сглаживание шрифтов, тогда часть пикселей будет не белая или чёрная а ещё и серая.
Короче, непонятна Ваша задача конечная, такое ощущение, что Вы придумали себе черезтридцатьтризаборное решение и выпытываете у нас как реализовать именно его, типичная XYZ Не поленитесь, распишите саму задачу. А пока что, Человек_Борща подсказывает вполне годное решение в лоб. "Первая часть" задачи изложена тут (код там же) http://programmersforum.ru/showthread.php?t=180046 |
25.07.2013, 09:44 | #8 | ||
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Человек_Борща, спасибо, хорошую идею подкинули, так и реализовал.
Цитата:
Цитата:
Вам тоже, phomm, спасибо за помощь.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SDL 2.0 + TTF CodeBlocks | Murashov | Qt и кроссплатформенное программирование С/С++ | 6 | 30.11.2012 18:40 |
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 | Elvisnya | Общие вопросы Delphi | 3 | 28.04.2011 15:59 |
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism | savva-paladin | Софт | 18 | 02.10.2010 20:24 |
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? | redred | Общие вопросы Delphi | 10 | 11.12.2007 10:43 |
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? | dagarik | БД в Delphi | 7 | 22.10.2007 17:54 |