C# 关于内存污染的

timbs 2008-12-12 09:21:48
下面是代码:
BitmapData edgedata = edgeBitmap.LockBits(new Rectangle(0, 0, edgeBitmap.Width, edgeBitmap.Height),
ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed);

int stride = edgedata.Stride;
byte* address = (byte*)edgedata.Scan0.ToPointer();

for (int i = 0; i < 40; i++)
{
testpoint = ImageProcess.ScaleAnalysis.FindPoints(address, stride, new Size(edgeBitmap.Width, edgeBitmap.Height)); //
resultpoint = randHough(testpoint);
}
edgeBitmap.UnlockBits(edgedata);

不知为什么,在第二次循环的时候,内存区的数据就被污染了,不知怎么回事?请高手指教
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
deyter 2008-12-12
  • 打赏
  • 举报
回复
学习
timbs 2008-12-12
  • 打赏
  • 举报
回复
是修改了数据,但是内存仍在锁定,其内的数据不应该被污染呀,以至于第二次循环时就无法处理
gomoku 2008-12-12
  • 打赏
  • 举报
回复
seems ImageProcess.ScaleAnalysis.FindPoints() had modified your data.

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧