1

賢いプログラマーの皆さん、こんにちは。

小さな画像を、サイズが約 7600 x 7600 px の 1 つの大きな画像にマージする必要があります。メモリに作成すると、メモリが多すぎて余裕がありません。

これを行う良い方法は、バッファーを作成し(大きな画像に入れたい小さな画像ごとに)、ファイルに直接書き込むことです(excatly blob - azureの場合)。誰かがそれを行う方法を知っています (無料のライブラリはありますか?) Google を検索しましたが、答えはありません (間違った質問かもしれません - 私の英語は下手です)。

4

2 に答える 2

1

「bmp」ファイルについて話している場合は、データをビットマップ ファイル形式でファイル ストリームに直接書き込むことでこれを行うことができます。それは非常に単純です。実際、「bmp」は最も単純な画像形式なので、難しいことはないと思います。ビットマップ ファイル形式について詳しく説明している 2 つの記事を次に示します。

ウィキペディアの BMP ファイル形式

Microsoft Windows ビットマップ

于 2012-11-29T10:30:00.647 に答える
0

その場で BMP 形式にエンコードする画像ライブラリを私は知らないので、独自に実装する必要があるのではないかと思います。幸いなことに、BMP 形式は、圧縮を使用しない場合は非常に単純であり、RLE 圧縮を使用する場合はそれほど難しくありません。これは基本的に、ヘッダーの後に画像ピクセルの raw バイトが行ごとに続くものです。

これは、すべての画像を 1 行にロードする必要があることを意味します (ターゲット画像が 30 x 40 の画像である場合、30 をロードする必要があります)。入力画像も BMP 形式であり、そうでない場合を除きます。カスタム リーダーを作成する必要はありません。

Googleで「BMP Format」と入力すると、BMPファイル形式を取得できます(ウィキペディアにもあります)。

于 2012-11-29T10:46:26.977 に答える