Лёгкая библиотека на чистом Swift для загрузки, кэширования и отображения изображений из интернета в приложениях для iOS, macOS и SwiftUI.
nothings/stb
Набор одnofайловых библиотек на C/C++ для загрузки изображений, растеризации шрифтов, структур данных и других задач; лицензия — public domain или MIT.
- Звёзды
- 34,891
- Форки
- 8,111
- Открытые issues
- 438
- Последний коммит
- позавчера
Что это?
stb — это набор независимых библиотек на C/C++. Каждая поставляется одним заголовочным файлом, который можно просто добавить в проект без системы сборки или менеджера пакетов. По умолчанию большинство файлов работают как заголовки; чтобы включить реализацию, нужно определить макрос конкретной библиотеки ровно в одном исходном файле.
Набор охватывает широкий круг задач. Среди примечательных библиотек — stb_image для декодирования изображений JPG, PNG, TGA, BMP, PSD, GIF, HDR и PIC, stb_image_write для записи файлов PNG, TGA и BMP, stb_truetype для разбора и растеризации шрифтов TrueType, а также stb_ds для типобезопасных динамических массивов и хеш-таблиц на C. Другие библиотеки предназначены для декодирования Ogg Vorbis, упаковки прямоугольников, генерации шума Перлина, логики редактирования текста, воксельного рендеринга и редактирования тайловых карт.
Каждая библиотека распространяется как public domain; её также можно использовать на условиях MIT. Автор отмечает, что эти библиотеки, как правило, проще интегрировать, чем более крупные аналоги, хотя у них может быть меньше возможностей или ниже производительность.
Ключевые возможности
- 01Каждая библиотека поставляется одним файлом и не имеет внешних зависимостей.
- 02stb_image декодирует множество распространённых форматов изображений — из файла или памяти.
- 03stb_truetype разбирает и растеризует шрифты TrueType.
- 04stb_ds предоставляет типобезопасные динамические массивы и хеш-таблицы для C.
- 05Лицензия public domain или MIT позволяет свободно использовать библиотеки повторно.
Сценарии использования
- Загрузка текстур или изображений в игре или инструменте на C или C++ без подключения крупной библиотеки.
- Рендеринг текста из шрифтов TrueType в собственном графическом движке.
- Добавление динамических массивов или хеш-таблиц в проект на C без дополнительных зависимостей.
- Включение небольших утилит непосредственно в проект, где нужно избежать сложной настройки сборки.
Быстрый старт
- 1
Скачайте из репозитория нужный заголовочный файл из одного файла (например, stb_image.h)
- 2
Ровно в одном исходном файле C/C++ определите макрос реализации и подключите заголовочный файл
Что важно знать
- Сопровождающий stb_image.h не будет добавлять новые форматы изображений, поэтому набор поддерживаемых форматов фиксирован.
- Ошибки, связанные с безопасностью, обсуждаются публично, а их исправление может занять значительное время.
- В метаданных лицензия указана как NOASSERTION, хотя в README говорится о двойном лицензировании: общественное достояние или MIT.
Темы
Частые вопросы
- Что такое stb?
- Набор одnofайловых библиотек на C/C++ для загрузки изображений, растеризации шрифтов, структур данных и других задач; лицензия — public domain или MIT. stb — это набор независимых библиотек на C/C++. Каждая поставляется одним заголовочным файлом, который можно просто добавить в проект без системы сборки или менеджера пакетов. По умолчанию большинство файлов работают как заголовки; чтобы включить реализацию, нужно определить макрос конкретной библиотеки ровно в одном исходном файле.
- stb можно использовать бесплатно? Какая у него лицензия?
- stb распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- stb всё ещё поддерживается?
- Активно поддерживается. Последний коммит в stb — 23 окт. 2026 г..
- Для чего можно использовать stb?
- Загрузка текстур или изображений в игре или инструменте на C или C++ без подключения крупной библиотеки. Рендеринг текста из шрифтов TrueType в собственном графическом движке. Добавление динамических массивов или хеш-таблиц в проект на C без дополнительных зависимостей. Включение небольших утилит непосредственно в проект, где нужно избежать сложной настройки сборки.
- Как установить stb?
- Скачайте из репозитория нужный заголовочный файл из одного файла (например, stb_image.h) Ровно в одном исходном файле C/C++ определите макрос реализации и подключите заголовочный файл
- Где скачать stb?
- Исходный код и инструкции по установке — на GitHub: https://github.com/nothings/stb
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Система загрузки изображений на Swift для платформ Apple с кэшированием, обработкой, прогрессивным декодированием и компонентами для SwiftUI и UIKit.
Библиотека из более чем 230 утилит на чистом Python, расширяющих стандартную библиотеку и не имеющих внешних зависимостей.
Учебный гид по LeetCode на китайском языке: подборка задач в рекомендуемом порядке, решения с иллюстрациями, видеоразборы и код на C++, Java, Python, Go и JavaScript.
Учебная подборка алгоритмов и структур данных на C++17 без внешних библиотек, охватывающая математику, машинное обучение, информатику и физику.
Поддерживаемая сообществом коллекция алгоритмов на Python для обучения и изучения.