Repolode
nothings

nothings/stb

画像読み込み、フォントのラスタライズ、データ構造などに使える、パブリックドメインまたはMITライセンスの単一ファイルC/C++ライブラリ集。

スター
34,891
フォーク
8,111
未解決の Issue
438
最終コミット
一昨日

これは何?

stbは、独立したC/C++ライブラリの集合です。それぞれが単一のヘッダーファイルとして配布されており、ビルドシステムやパッケージマネージャーなしでプロジェクトに組み込めます。多くのファイルはデフォルトでヘッダーとして機能し、ライブラリごとのマクロを1つのソースファイルで定義すると実装が有効になります。

幅広い用途をカバーしており、主なライブラリには、JPG、PNG、TGA、BMP、PSD、GIF、HDR、PIC画像をデコードするstb_image、PNG、TGA、BMPファイルを書き出すstb_image_write、TrueTypeフォントを解析してラスタライズするstb_truetype、C向けの型安全な動的配列とハッシュテーブルを提供するstb_dsがあります。そのほか、Ogg Vorbisのデコード、矩形パッキング、Perlinノイズ、テキスト編集ロジック、ボクセルレンダリング、タイルマップ編集などを扱うライブラリもあります。

各ライブラリはパブリックドメインで公開されており、MITライセンスでも利用できます。作者によると、これらのライブラリは一般に大規模な代替ライブラリより組み込みやすい一方、機能が少なかったり、処理が遅かったりする場合があります。

主な機能

  • 01各ライブラリは単一ファイルで提供され、外部依存はありません。
  • 02stb_imageは、ファイルまたはメモリから一般的な多くの画像形式をデコードします。
  • 03stb_truetypeはTrueTypeフォントを解析してラスタライズします。
  • 04stb_dsはC向けに型安全な動的配列とハッシュテーブルを提供します。
  • 05ライブラリはパブリックドメインまたはMITライセンスで公開されており、自由に再利用できます。

ユースケース

  • 大規模なライブラリをリンクせずに、CまたはC++のゲームやツールでテクスチャや画像を読み込む。
  • 独自のグラフィックスエンジンでTrueTypeフォントからテキストを描画する。
  • 追加の依存関係なしで、Cプロジェクトに動的配列やハッシュマップを追加する。
  • 複雑なビルド構成を避ける必要があるプロジェクトに、小さなユーティリティを同梱する。

クイックスタート

  1. 1

    リポジトリから必要な単一ファイルのヘッダー(例: stb_image.h)をダウンロードします

  2. 2

    C/C++のソースファイルを1つだけ選び、実装マクロを定義してヘッダーをインクルードします

使う前に知っておきたいこと

  • stb_image.hのメンテナーは新しい画像形式を追加しないため、対応形式は固定されています。
  • セキュリティに関わるバグは公開の場で議論され、修正にかなり時間がかかる場合があります。
  • メタデータ上のライセンスはNOASSERTIONと記載されていますが、READMEではパブリックドメインまたはMITのデュアルライセンスとされています。

トピック

よくある質問

stb とは?
画像読み込み、フォントのラスタライズ、データ構造などに使える、パブリックドメインまたはMITライセンスの単一ファイルC/C++ライブラリ集。 stbは、独立したC/C++ライブラリの集合です。それぞれが単一のヘッダーファイルとして配布されており、ビルドシステムやパッケージマネージャーなしでプロジェクトに組み込めます。多くのファイルはデフォルトでヘッダーとして機能し、ライブラリごとのマクロを1つのソースファイルで定義すると実装が有効になります。
stb は無料で使えますか?ライセンスは?
stb は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
stb は今もメンテナンスされていますか?
活発にメンテナンス中。stb の最終コミットは 2026年10月23日 です。
stb は何に使えますか?
大規模なライブラリをリンクせずに、CまたはC++のゲームやツールでテクスチャや画像を読み込む。 独自のグラフィックスエンジンでTrueTypeフォントからテキストを描画する。 追加の依存関係なしで、Cプロジェクトに動的配列やハッシュマップを追加する。 複雑なビルド構成を避ける必要があるプロジェクトに、小さなユーティリティを同梱する。
stb のインストール方法は?
リポジトリから必要な単一ファイルのヘッダー(例: stb_image.h)をダウンロードします C/C++のソースファイルを1つだけ選び、実装マクロを定義してヘッダーをインクルードします
stb はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/nothings/stb

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト