您的位置:首页 > 编程语言 > C#

C#位图处理指针问题

2006-02-15 15:19 281 查看
今天整理算法的时候发现在过去在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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: