OpenSearch ドキュメントで指定されたサイトからプログラムでアイコンをダウンロードする作業を行っています。ICO 形式の場合は、(今のところ) 最初の画像を抽出する必要があります。ICO ファイルのヘッダーを問題なく読み取ることができ、最初の画像ファイルを切り取ることができました。ただし、ファイル形式を説明するウィキペディアのエントリを読んだ後、画像がビットマップ形式の場合、ファイルが不完全であることがわかりました (ヘッダーがありません)。そのため、データをファイルに保存する前にこのヘッダーを再構築する必要がありますが、少し苦労しています。
BMP ファイル形式のウィキペディアのエントリによると、ヘッダーの長さは 14 バイトで、次のものが含まれている必要があります。
オフセット データ0x0000
「BM」、私たちの意図と目的0x0002
のため ビットマップ ファイルのサイズ (バイト単位 ) ファイル0x0006
を作成するアプリケーションに0x0008
依存 ファイルを作成するアプリケーションに依存0x000A
画像データ/ピクセル配列のオフセット
ビットマップ ファイルのサイズ (バイト単位) は、抽出された画像のサイズ + ヘッダーの 14 バイトになると考えましたが、0x0006、0x0008 に何を書き込むべきか、ピクセル配列の場所を取得する方法がわかりません。 0x000A に書き込みます。
記事を何度か読みましたが、頭が少し痛いことを認めなければなりません。このようなことをするのは初めての経験です。ピクセル配列の場所を取得する方法を教えてくれる人はいますか?