似乎克隆一个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;
}
由于
贾斯汀
答案 0 :(得分:1)
这里没有猜测就很难帮助,所以我们走了:
在代码中的某个地方,您或外部库依赖/调用外部工具,称为“edit.exe”。也许,上帝保佑,甚至在数据库中触发的事情。程序员不关心扩展,在Process.StartInfo中写了“edit foo.bar”。 由于你的PATH和解析顺序(exe之前的com),这最终会在随附的机器上调用edit.com。
嗯 - 这真的不过是一个人为的故事,但我无法想象用你给出的代码启动任何应用程序的方法。尽量确定发生这种情况的确切位置。我怀疑这是你展示的转换/代码。
答案 1 :(得分:1)
经过大量的挖掘后,发现DevExpress的HyperLinkEdit出现了一些奇怪的现象。 Text值设置为“Edit”。我把它改名为“Edet”,问题就消失了。我将向DevExpress报告这一情况,以便进一步评估。
谢谢大家,
贾斯汀