В Delphi 7 мне приходится иметь дело с довольно большими 24-битными растровыми изображениями (несколько 100 МБ). Поскольку я хочу использовать библиотеку Graphcis32 для дальнейшей обработки, их необходимо преобразовать в 32bpp (TBitmap32). Однако метод LoadFromFile в TBitmap32 создает временную обычную TBitmap для загрузки исходного 24-битного растрового изображения, которое затем назначается TBitmap32 для выполнения требуемого преобразования формата. Конечно, загрузка памяти примерно удваивается благодаря наличию в памяти двух этих огромных растровых изображений, и это может быть фатальным для моего приложения.
Я имею в виду способ загрузки растрового изображения 24 бит / с в заранее выделенный буфер, размер которого соответствует размеру растрового изображения 32 бит / с. Затем, начиная с конца буфера, я хочу переместить байты RGB в смещения необходимо для 32bpp.
Возможно ли это? Как я могу загрузить растровое изображение в предварительно выделенный буфер? Есть идеи?