1

我有一个关于C# Image class type. 考虑以下语句

Image img = Image.LoadFromFile(@"C:\1.jpg");

问题:如何从img变量中获取图像文件路径?

猜想:我不认为我们可以有图像路径,因为如果我们看到 LoadFromFile 方法,它会从物理文件路径中读取图像并将其逐字节加载到内存中。一旦加载,它将位于 img 对象中。img 对象现在将独立于磁盘上的 Image 物理文件。

4

2 回答 2

3

您的猜测是正确的,图像对象在加载到内存后与文件没有连接。您需要将路径存储在单独的变量中,或者执行以下操作:

public class ImageEx
{
    public Image Image { get; set; }
    public string Filename { get; set; }

    public ImageEx(string filename)
    {
        this.Image = Image.FromFile(filename);
        this.Filename = filename;
    }
}

public class SomeClass
{
    public void SomeMethod()
    {
        ImageEx img = new ImageEx(@"C:\1.jpg");

        Debug.WriteLine("Loaded file: {0}", img.Filename);
        Debug.WriteLine("Dimensions: {0}x{1}", img.Image.Width, img.Image.Height);
    }
}
于 2013-04-12T17:53:10.380 回答
0

尝试使用以下

 img.ImageUrl
于 2013-04-12T10:06:10.237 回答