[解決済み] 軽量C++画像ライブラリ [終了しました]。
2022-03-08 05:06:38
質問
シンプルで小さく、かつ堅牢で高速な( ではなく C++用の画像ライブラリです(C++版がなければCでも十分です)。
私が求めている主な機能は
- 無料(オープンソースであれば尚可)
- スピード重視の設計
-
機能的な巨大な肥大化(例えば
ImageMagik
これは本当に包括的なものですが、マンモスです。) - 小さなメモリフットプリント
- ロード/セーブ、リサイズ、フォーマット間の変換など、必要最低限の機能のみをサポートしています。派手さはありません。
-
壊れたファイルのためのエラーリカバリー (以下のようなもの)
stb_image.c
は、エラーリカバリーがかなり悪い) -
MSVC および gcc フレンドリー (私は
CxImage
を何年も使ってきましたが、最新のバージョンではMSVC 2010で問題が発生し、もう積極的な開発とサポートは打ち切られたようなので、そろそろやめようと思っています) -
JPEG2000 のような一般的な最新フォーマットを直接、あるいは
libpng
- 画像を表示するために使うつもりはないので、DirectXでもOpenGLでも構わないが、Webサイト用に画像をファイル処理するためだけに使う。
- スタティックリンクとダイナミックリンクの両方をサポートしていると尚可
- スレッドのサポートは大きなプラス
私が見て、ある理由で却下されたライブラリ。
- CxImage (もう開発は行われていません)
- ImageMagik - 巨大すぎる(そして遅い)
- stb_image.c - エラー処理に問題があり、十分な画像形式をサポートしていません。
- DevIL (まだ捨てていませんが、あまり見ていません。SOの同じような投稿で数分前に知っただけです) - そのサイズと機能セットからすると、私が必要とするものにはとても有望に見えますが。
- FreeImage (DevILと同じ。近々見てみようと思うが、私の好みからすると少しサイズが大きい)
- SOIL (stb_image.cと同じ)
- TimThumb - これはC/C++ではなく、PHPです。
要するに、必要最低限の機能だけを犠牲にして、できるだけ小さく、できるだけ速いものが欲しいのですが、今のところ適当な候補が見つかっていないのです。
このコミュニティから何か提案があればお願いします。ただし、上に挙げた制約を念頭に置いてください。"X"が私のニーズの半分も満たしていないところで、"Xを試しましたか"という形の答えを投げてもいいとは思えません :)
編集 : DevILについてもう少し調べてみると、私が必要としているものになりそうです。軽くて、小さくて、頑丈です。あとはパフォーマンスを確認する必要があります。 ああ、それからCImage(リストで言及するのを忘れていました) - そのパフォーマンスは好きではありませんでした(控えめに言っても、テンプレートのみの実装というアイデアはかわいいと認めなければなりませんが)。
解決方法は?
を中心とした小さなライブラリを作成することを強くお勧めします。 libpng と ジェイペグライブ (そして、あなたがサポートする必要があるフォーマットのための他のすべての低レベルのライブラリ)。それほど難しいことではありませんし、必要な機能はすべてコーディングすることができます。
別の方法として、そのライブラリ用の優れたc++ラッパーがすでにいくつか存在するので、それを使うこともできます。以下はその例です。
関連
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] Markdownで画像サイズを変更する
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] IMGとCSSのbackground-imageはいつ使い分ける?
-
[解決済み] CSSによる画像の強制リサイズとアスペクト比の保持
-
[解決済み] div内の画像の下に余分なスペースがある
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み] 非常に基本的なC++プログラムの問題 - バイナリ式への無効なオペランド
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】'std::cout'への未定義の参照