Ну, (для меня), мне удалось исправить эту проблему на моей стороне после часа исследований.
В VB.NET (v4.0 VS-SP1) я обнаружил ошибку, при которой компилятор не выдает ошибку, а также IntelliSense:
Обратите внимание: если я добавлю следующую строку в функцию (в любом месте программы, Класс / Модуль / Форма / и т. Д.):
MyGraphics.DrawImage(OriginalImage.Clone(New System.Drawing.Rectangle(ClipX1, ClipY1, ClipW, ClipH), Drawing.Imaging.PixelFormat.Format24bppRgb), 0, 0, TempWidth, TempHeight)
Компилятор выдает эту ошибку еще до того, как во время отладки попадет на функцию, он даже не достигнет строки (просто добавление к functoin приводит к тому, что компилятор боится даже войти в эту функцию).
Я скопировал строку из другой функции в своем коде, существующая функция работает нормально, а новая - нет. Что довольно шокирует, если честно.
Теперь, я снова проверил еще раз и нашел причину, так как объект OriginalImage
был определен как Bitmap
в работающем коде, однако я определил его как Image
в том, который сделал не работает.
Далее я перешел к строке кода выше и проверил параметры / аргументы, которые принимает вышеописанная функция "клон", у экземпляра Bitmap
параметры правильные и с 3 морфами (т.е. 3 разных набора параметров Вы можете вызвать функцию с помощью), однако, с экземпляром типа Image
, Clone
не принимает параметров!.
Я был очень потрясен, увидев это, проблема в том, что я не получил ни ошибок, ни предупреждений в IntelliSense, ни ошибок компилятора, код скомпилирован нормально, но функция не может быть выполнена, я уверен, что это ошибка (хм ... функция) в .NET.
Исправление было изменить system.drawing.Image
на system.drawing.Bitmap
, код работал позже.
Надеюсь, это поможет
С уважением
Хайдер