Delphi 7では、かなり大きな24bppビットマップ(数100 MB)を処理する必要があります。さらなる処理のためにGraphcis32ライブラリを使用したいので、それらを32bpp(TBitmap32)に変換する必要があります。ただし、TBitmap32のLoadFromFileメソッドは、一時的な従来のTBitmapを作成して、元の24bppビットマップをロードします。このビットマップは、必要なフォーマット変換を行うためにTBitmap32に割り当てられます。もちろん、これらの巨大なビットマップを2つメモリに入れることで、メモリの負荷は約2倍になり、これは私のアプリケーションにとって致命的となる可能性があります。
私が考えているのは、24bppビットマップを事前に割り当てられたバッファーにロードする方法です。このバッファーは32 bppビットマップが収まるように配置されています。次に、バッファーの端から始めて、RGBバイトを32bppに必要なオフセットに移動します。 。
これは可能ですか?事前に割り当てられたバッファにビットマップをロードするにはどうすればよいですか?何か案が?