C#位图处理指针问题

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

今天整理算法的时候发现在过去在c++中用UINT指针访问32位ARGB位图时,每次偏移量正好一个象素,所以直接使用“++”而不是“+= 4”。同理,当直接用座标访问时,应使用“i * stride / 4 + j” 而不是“i * stride + j”。但转移到c#代码时发现,如果同样使用uint指针访问位图,当stride等于width*4时可能不会有问题,一旦noffset不为0,将会出现问题。但次BUG没有证实每次都会发生。找时间要修正一下代码,在算法没有改进的情况下,还是建议使用byte类型指针做位图访问。

文章来源:http://spaces.msn.com/sharkoo/Blog/cns!D8E832CE4545AF!153.entry

补充:当锁定位图全部时,stride=width*4,当锁定的是位图的一部分时,stride将会不等于width*4。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航