JPG/JFIF ファイル内のサムネイル画像を編集できますか?
これが可能である場合、どのように(どのユーティリティを使用して)可能ですか?
最終的な結果は、サムネイル画像が jpeg とはまったく異なる画像である「可能」である必要があります。
どうもありがとう、マイケル
JPG/JFIF ファイル内のサムネイル画像を編集できますか?
これが可能である場合、どのように(どのユーティリティを使用して)可能ですか?
最終的な結果は、サムネイル画像が jpeg とはまったく異なる画像である「可能」である必要があります。
どうもありがとう、マイケル
通常、サムネイルは非圧縮のRGBデータです。マーカーを見つけ、サムネイルの幅/高さがマークされている場所を確認してから、それに続くバイトストリームを変更します。ストリームの長さは幅*高さ*3バイトです。
インデックスが作成されている場合は、パレットとインデックスエントリを上書きする必要があります。APP0マーカーを探して、変更を開始します。
準拠した EXIF サムネイル画像は 64K APP1 マーカーに収まる必要があり、通常は JPEG として圧縮されます (@Karthik の言うこととは異なります)。サムネイル画像はメイン画像から独立しており、メイン画像に影響を与えないマーカー セグメント内にあるため、簡単に変更できます。JPEG マーカー セグメントは、基本的に、2 バイトの識別子 (この場合は FFE1 など) と 2 バイトの長さを持つ独立したバイナリ blob のリンクされたリストです。ファイルを別のものに交換しても、ファイルが「壊れる」ことはありません。ファイル データ全体の整合性を検証するチェックサムやその他のメカニズムはありません。私はこの情報を編集するためのライブラリに精通していませんが、内容を知らなくてもマーカー BLOB のタイプと長さを解析するだけの少量のコードでそれを行うことができます。また、「クイック アンド ダーティ」を行うこともできます。新しいサムネイルが元のサムネイルよりも大きくならないようにすることで、ファイルの他の部分を移動することなく、その場所に書き込むことができます。マーカーの長さはその内容に対してチェックされないため、未使用のスペースは無視されます。