C#中位图保存方式与C++中位图保存方式的区别是什么?如何将C#中位图buffer正确传到C++代码中?求大神指导
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位图,如果是相同位的位图则直接进行数据拷贝即可,不同的话则只能进行对位拷贝一般用
循环赋值。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。