| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Font Viewer |
| Автор: maloicds 20.1.2015, 14:51 | ||
| Добрый день. Возникла проблема: для программирования мк необходимо создать русский шрифт. В ручную рисовать муторное занятие. Обьясню почему: вот так представлена буква "A"в коде
а вот так она выглядит если эти значения предствать в другом виде http://saveimg.ru/show-image.php?id=78356ca6ae86763b0777cbffe6e24b6e Необходимо отобразить любой символ из шрифта в stringgrid'е например, а дальше по состоянию закрашеных ячеек будет сформирован код для мк. Например вот так http://saveimg.ru/show-image.php?id=dfa0079d86b9c071e5b31b644e0e2f38 Куда копать не знаю :( |
| Автор: Alexeis 20.1.2015, 15:17 |
| maloicds, ну перво-наперво нужно отрисовать весь алфавит на битмапе (объект класса TBitMap) (Canvas.TextOut и все такое) Если градации серого не нужно, то рекомендую использовать формат pf1Bit (pixelformat) Далее при помощи функций Canvas.TextHeight(); и Canvas.TextWidth(); битмапа определить ширину и высоту нужного символа, а также смещение на картинке. Используя функцию ScanLine получить доступ к строкам битмапа. Но нужно учитывать что 1 пиксел это 1 бит в формате pf1Bit . Т.е. в одном байте будет 8 пикселов. И остается только байты сконвертировать в строки добавив 0x и запятые . Функцией IntToHex . Строку сохраняем в текстовый файл, файл в исходник. По всем этим функциям есть куча примеров тут на форуме. При использовании моноширинного шрифта код значительно упрощается. |
| Автор: maloicds 20.1.2015, 15:48 |
| Alexeis, спасибо, буду пробовать! |