| C#位图处理指针问题 |
|
| |
|
|
今天整理算法的时候发现在过去在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。
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2006-10-26 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|
|
|
| 教程录入:admin 责任编辑:admin |
|
上一个教程: 选择 VB.NET 还是 C# ?
下一个教程: 关于C#中枚举打印机 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |