1

LibTIFF ソース コードを読むと、LibTIFF をカスタマイズする主な方法は、新しいタグを定義し、新しいコーデックを実装することであることがわかります。また、LibTIFF はオープンソースで自由なライセンスを持っているため、さまざまな目的で微調整する必要があるユーザーは直接変更できます。

ただし、2 つの拡張方法には当てはまらないようなカスタマイズがあります。既存のコーデック内で発生するさまざまな状況を検出できるように、さまざまな種類のイベント リスナー (コールバック関数) をインストールしたいです。

例 #1: LibTIFF のエラー/警告メッセージ ハンドラーを置き換えて、スレッド セーフになり、呼び出し元によって設定されたコールバック関数にメッセージを送信できるようにしたいと考えています。

例 #2: 一部の TIFF 画像にはいくつかのタグが欠落している可能性があり、LibTIFF はそれらの値を推測してそれらを補おうとします。一部のタグが明らかに間違っている場合、LibTIFF はそれらを修正しようとします。ただし、LibTIFF がタグの値を変更するたびに通知されるコールバック関数が必要です。これにより、これをログに記録し、画像の標準への準拠に関するレポートを生成できます。

例 #3: 複数ページの TIFF の複数のページを連結する必要があります。ページのサイズと圧縮パラメータは同じです。圧縮データにアクセスできる場合は、圧縮データを逐語的に新しい TIFF イメージのストリップにコピーすることで、これをより効率的に行うことができます。

アーキテクチャを複雑にすることなく、コールバック関数/イベントリスナーをLibTIFFに追加する推奨される方法は何ですか?

4

0 に答える 0