首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >24bpp位图到32bpp的就地转换

24bpp位图到32bpp的就地转换
EN

Stack Overflow用户
提问于 2009-08-19 16:42:39
回答 1查看 1.4K关注 0票数 1

在Delphi7中,我必须处理非常大的24bpp位图(几个100MB)。由于我希望使用Graphcis32库进行进一步处理,因此必须将它们转换为32bpp (TBitmap32)。然而,TBitmap32的LoadFromFile方法创建了一个临时的常规TBitmap来加载原始的24bpp位图,然后将该位图分配给TBitmap32以执行所需的格式转换。当然,如果内存中有两个这样的巨大位图,内存负载大约会增加一倍,这对我的应用程序来说可能是致命的。

我正在考虑的是一种将24bpp位图加载到预先分配的缓冲区中的方法,该缓冲区的大小适合32bpp位图。然后,从buffer端开始,我希望将RGB字节移动到32bpp所需的偏移量。

这个是可能的吗?如何将位图加载到预先分配的缓冲区中?有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2009-08-19 16:57:29

我对Graphics32的工作原理知之甚少。但是,如果您使用标准文件格式并可以直接访问TBitmap32像素数据,则应该能够为该格式创建自己的图像加载器,以便在没有其他工作方式的情况下一次性加载和上转换为32bpp。

常见文件格式的规范在互联网上随处可见,您使用的是哪种?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1301175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档