![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
![]()
Приветствую.
Стоит задача извлечь символы из файла шрифтов ttf(1) и привести символы к бинарному виду(2). Можеть быть кто-то знает как решить подзадачу 1 без особых умственных усилий? ![]()
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
![]()
Думаю, что шрифт это некая разновидность векторной графики, которую windows использует, потому просто и без особого использования мозга - не получится.
Алсо есть готовый сабж для работы с TTF http://ru.wikipedia.org/wiki/FreeType |
![]() |
![]() |
![]() |
#3 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
![]()
На FreeType я как раз нарвался и даже для дельфи нашел портированный вариант, но пока скомпилировать демку и библиотеку не удалось - выдает не ведомые мне ошибки. Хотя может быть будет достаточно использовать скомпилированную библиотеку freetype.dll...
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
![]() |
![]() |
![]() |
#4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,883
|
![]()
А что такое "бинарный вид" в данном случае ?
А то я работал над штукой для загрузки произвольного ttf в дельфишный объект TFont , которым после загрузки, можно нарисовать/написать куда захочется, например на битмап. |
![]() |
![]() |
![]() |
#5 | ||
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
![]() Цитата:
Например, есть картинка единицы в ttf, а в бинарном в данном контексте - 00000000 00110000 11110000 00110000 00110000 00110000 00110000 Т.е. изображение преобразовать в массив строк, где зарисованная часть картинки представлена "1", а пустоты "0". Цитата:
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
||
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
![]() Цитата:
Как вариант: Создаете BMP Канве этого BMP присваиваете нужный вам шрифт, и рисуете нужный символ. Далее сохраняете BMP файл в MemoryStream и переводите байты в двоичную систему. Если нужен только сам символ, то устанавливаете цвет канвы(белый), цвет шрифта - черный, теперь циклом проходитесь по нарисованному, и все, что не равно белому - считать частью символа. Далее массив перегоняете в 0 и 1. Последний раз редактировалось Человек_Борща; 25.07.2013 в 00:07. |
|
![]() |
![]() |
![]() |
#7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,883
|
![]()
Каждый размер шрифта будет давать разный "бинарный вид" в таком случае, приглядитесь хотя бы в ворде - там появляются и исчезают пиксели при изменении размеров шрифта, ибо векторное изображение буквы "растрируется" в пиксели по некоему алгоритму, а ещё поверх может быть применено сглаживание шрифтов, тогда часть пикселей будет не белая или чёрная а ещё и серая.
Короче, непонятна Ваша задача конечная, такое ощущение, что Вы придумали себе черезтридцатьтризаборное решение и выпытываете у нас как реализовать именно его, типичная XYZ Не поленитесь, распишите саму задачу. А пока что, Человек_Борща подсказывает вполне годное решение в лоб. "Первая часть" задачи изложена тут (код там же) http://programmersforum.ru/showthread.php?t=180046 |
![]() |
![]() |
![]() |
#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 |