C # Image.Clone для byte [] вызывает открытие EDIT.COM в Windows XP - PullRequest
2 голосов
/ 15 марта 2010

Похоже, что клонирование Image и преобразование его в байтовый массив приводит к открытию EDIT.COM на компьютерах с Windows XP. Это не происходит на компьютере с Windows 7. Приложение является приложением C # .NET 2.0. У кого-нибудь есть идеи, почему это может происходить?

Вот мой код преобразования изображения:

        public static byte[] CovertImageToByteArray(Image imageToConvert)
    {
        imageToConvert.Clone() as Image;

        if(clone == null)
            return null;

        imageToConvert.Dispose();

        byte[] imageByteArray;
        using (MemoryStream ms = new MemoryStream())
        {
            clone.Save(ms, clone.RawFormat);
            imageByteArray = ms.ToArray();
        }

        return imageByteArray;
    }


    public static Image ConvertByteArrayToImage(byte[] imageByteArray,
                                                ImageFormat formatOfImage)
    {
        Image image;

        using (
            MemoryStream ms = new MemoryStream(imageByteArray, 0,
                                               imageByteArray.Length))
        {
            ms.Write(imageByteArray, 0, imageByteArray.Length);
            image = Image.FromStream(ms, true);
        }

        return image;
    }

Спасибо

Justin

Ответы [ 2 ]

1 голос
/ 16 марта 2010

После долгих копаний оказывается что-то странное, что происходит с HyperLinkEdit от DevExpress. Значение текста было установлено на «Редактировать». Я переименовал его в «Эдет», и проблема ушла. Я сообщу об этом в DevExpress для дальнейшей оценки.

Спасибо всем,

Justin

1 голос
/ 16 марта 2010

Трудно не угадать здесь, поэтому мы идем:

Где-то в вашем коде вы или внешняя библиотека используете / вызываете внешний инструмент, называемый "edit.exe". Возможно, не дай бог, даже что-то сработало в базе данных. Программист не заботился о расширении и написал «edit foo.bar» в Process.StartInfo. Из-за вашего PATH и порядка разрешения (com перед exe) это приводит к вызову edit.com на машинах, которые поставляются с ним.

Ну, на самом деле это всего лишь искусственная история, но я не могу представить способ запуска любого приложения с кодом, который вы дали. Постарайтесь быть уверенным в том, где именно это происходит. Я сомневаюсь, что это конверсия / код, который вы показали.

...