尝试克隆图像的一部分会引发OutOfMemoryException。
导致错误的行是:
TileImage = TileFileImage.Clone(CloneRect, TileFileImage.PixelFormat);
TileFileImage
的尺寸为271x271px。
CloneRect
的左上角位于(186,16),其右下角位于(202,32),在引发异常之前。
TileImage
和TileFileImage
都是Bitmap
。
CloneRect
不能大于271x271px。
上述语句所采用的方法中的逻辑是防止矩形超出图像的边界。
我该如何解决?
更新:
我检查了一下逻辑,发现了问题。
某些索引可能会超出源Bitmap
的范围。