开发者社区 问答 正文

C#与C++位图保存方式的区别是什么?如何将C#中位图buffer正确传到C++代码中?求大神指导

C#中位图保存方式与C++中位图保存方式的区别是什么?如何将C#中位图buffer正确传到C++代码中?求大神指导

展开
收起
a123456678 2016-03-05 16:45:30 2959 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • C++中位图分为32/24/16位的三种位图数据存储方式,很多时候C++中主要使用32位和24位,如果你没有特别声明的话。C#中的位图
    也多数是32位的。这些所谓的32位或者24位说的是位图中一个像素用多少位来表示,一个像素一般包含RGB三基色,也就是红(red)、
    绿(green)、蓝(blue),32位标识则多了一个透明通道位A(alpha)。现在一般都是32位的图,包含透明通道的。
    假设你C#和C++都是32位的数据位图,那么你拷贝的时候也要考虑到数据位是否安装RGBA排列还是按照ARGB还是BGRA等等的排列方式。
    你可以先获得位图的基本信息判断是32位图还是24位图,如果是相同位的位图则直接进行数据拷贝即可,不同的话则只能进行对位拷贝一般用
    循环赋值。

    2019-07-17 18:53:47 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答分类:
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等