Это основная графическая библиотека для всех наших дисплеев, предоставляющая общий набор примитивов графики (точки, линии, круги и т. Д.). Он должен быть в сочетании с аппаратной библиотекой для каждого устройства дисплея, которое мы носите (для обработки функций нижнего уровня).
Adafruit инвестирует время и ресурсы, предоставляя этот код с открытым исходным кодом, пожалуйста, поддержите Adafruit и оборудование с открытым исходным кодом, приобретая продукты у Adafruit!
Написано Limor Fried/Ladyada для Adafruit Industries. Лицензия BSD, проверьте License.txt для получения дополнительной информации. Весь текст выше должен быть включен в любое перераспределение.
Недавние выпуски Arduino IDE включают менеджер библиотеки для легкой установки. В противном случае, чтобы загрузить, нажмите кнопку «Скачать ZIP», вырваться и переименовать несжатую папку ADAFRIT_GFX. Убедитесь, что папка ADAFRIT_GFX содержит ADAFRIT_GFX.CPP и ADAFRIT_GFX.H. Поместите папку библиотеки ADAFRIT_GFX. Возможно, вам понадобится создать подпапку библиотек, если это ваша первая библиотека. Перезагрузите IDE.
Вам также нужно будет установить последнюю библиотеку Adafruit Busio. Поиск "Adafruit Busio" в менеджере библиотеки или установка вручную с https://github.com/adafruit/adafruit_busio
Image2Code: Это удобная утилита GUI Java для преобразования файла BMP в код массива, необходимый для отображения изображения с функцией DrawbitMap. Проверьте код в репозитории Ehubin GitHub: https://github.com/ehubin/adafruit-gfx-library/tree/master/img2code
Функция DrawxBitMap: Вы можете использовать редактор фото -фото -редакторов GIMP для сохранения файла .xbm и использовать массив, сохраненный в файле, чтобы нарисовать растровый карту с функцией DrawxbitMap. Смотрите запрос на вытягивание здесь для получения более подробной информации: #31
Папка «шрифты» содержит растровые шрифты для использования с недавним (1.1 и более поздним) ADAFRIT_GFX. Чтобы использовать шрифт в вашем эскизе Arduino, #Inclide соответствующий файл .h и пропустите адрес gfxfont struct to setFont (). Пропустите NULL, чтобы вернуться к «классическому» растровому шрифту с фиксированным пространством.
Папка «FontConvert» содержит инструмент командной строки для преобразования шрифтов TTF в формат заголовка ADAFRIT_GFX.
Вы также можете использовать этот инструмент GFX Font Customiser ( веб -версия здесь ) для настройки или исправления вывода FontConvert и создать шрифты только с подмножеством символов для оптимизации размера.
Главная директива состоит в том, чтобы поддерживать обратную совместимость с существующими эскизами Arduino - многие размещены в другом месте и не отслеживают изменения здесь, некоторые находятся в печати и никогда не могут быть изменены! Эта «маленькая» библиотека со временем выросла органически, и иногда мы окрашиваем себя в углу дизайна и просто должны жить с ней или добавлять постепенно более неуклюжие обходные пути.
Мы благодарны за взносы каждого, но запросы на привлечение следующего не будут объединены:
Дополнительные или несовместимые форматы шрифтов (см. Прайскую директиву выше). Уже есть два формата, и код там довольно раздражительна, как есть. Это также создает обязательства для инструментов и документации. То, что там, не идеально, но это делает работу.
Дополнительные или несовместимые растровые форматы по аналогичным причинам. Это становится грязно.
Добавление цвета фона в пользовательские шрифты для стирания предварительного экрана. Единственными приемлемыми методами являются очистка области с помощью заполненного прямоугольного или (чтобы избежать мерцания), нарисовать текст в gfxcanvas1 и копировать на экране с помощью цвета DrawbitMap () с цветом фона. Это специально и по дизайну. Мы обсудили это. Глифы могут перекрываться.
Прокрутка, будь то оборудование или программное обеспечение. Такие реализации имеют тенденцию полагаться на функции, специфичные для аппаратного обеспечения (не доступны универсально), считывайте доступ к кадру экрана (то же самое) и/или добавление виртуальных функций в GFX, которые они должны быть добавлены в каждом подклассе, из которых есть много. API GFX в значительной степени «установлен» на данный момент, и это просто ограничение, с которым мы сейчас живем.
Пожалуйста, не переформатируйте Кодекс ради переформатирования Кодекса. В результате большая «визуальная дифференциация» делает невозможным распутать фактические исправления ошибок из просто перестроенных линий. Кланг-формат будет последним арбитром.
Пожалуйста, больше нет Pentagram-Drawing PRS. Любые странно-специфические функции рисования могут идти в вашем собственном коде и не полезны в контексте библиотеки.
Если у вас должна быть одна из этих функций, рассмотрите возможность создания вилки с функциями, необходимыми для вашего проекта ... легко синхронизироваться с кодом вверх по течению.