Почему я получаю исключение нехватки памяти?
Так что это умирает в C # в первый раз через:
splitBitmaps.Add (requiredImage.Clone (rectDimensions, requiredImage.PixelFormat));
Где splitBitmaps - это список НО это работает в VB как минимум 4 итерации:
arlSplitBitmaps.Add (Image.Clone (rectDimensions, Image.PixelFormat))
Где arlSplitBitmaps - простой список массивов. (И да, я попробовал arraylist в c #)
Это полный раздел:
for (Int32 splitIndex = 0; splitIndex <= numberOfResultingImages - 1; splitIndex++)
{
Rectangle rectDimensions;
if (splitIndex < numberOfResultingImages - 1)
{
rectDimensions = new Rectangle(splitImageWidth * splitIndex, 0,
splitImageWidth, splitImageHeight);
}
else
{
rectDimensions = new Rectangle(splitImageWidth * splitIndex, 0,
sourceImageWidth - (splitImageWidth * splitIndex), splitImageHeight);
}
splitBitmaps.Add(neededImage.Clone(rectDimensions, neededImage.PixelFormat));
}
requiredImage - это растровое изображение.
Я не могу найти каких-либо полезных ответов в intarweb, особенно не потому, что он отлично работает в VB.
Обновление:
Я действительно нашел причину (своего рода) для этой работы, но забыл опубликовать ее. Это связано с преобразованием изображения в растровое изображение вместо того, чтобы просто пытаться клонировать необработанное изображение, если я помню.