获取System.Drawing.Bitmap的文件路径

时间:2016-02-06 20:55:29

标签: vb.net

有没有办法获取My.Resources.myImg.GetFilePath类型的文件路径?

类似的东西:

GetFilePath(My.Resources.myImg)

0x08

显然我上面的例子不存在。我只是表明我的意图。

3 个答案:

答案 0 :(得分:0)

我不确定资源是否有路径,我认为它们已经嵌入到应用程序中,然后读入内存(我可能错了)。< / p>

如果您希望他们拥有路径,您必须将其保存到文件中。这会将图像保存在Local Application Data文件夹中:

Dim MyImgPath As String = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "myImg.bmp")
My.Resources.myImg.Save(MyImgPath, Imaging.ImageFormat.Bmp)

如果要将图像保存在与应用程序相同的文件夹中:

Dim MyImgPath As String = IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory(), "myImg.bmp")

答案 1 :(得分:0)

您可能想要创建自己的对象:

Public Class MyBitmap 
Inherits Bitmap 

Private _FilePath As String 
'------------------------'

Public Property FilePath as String 
Get 
Return _FilePath
End Get 

' etc... 

您可以设置路径并稍后从属性

获取

答案 2 :(得分:0)

很明白这是不可能的,因为有很多方法可以初始化System.Drawing.Bitmap(例如:Stream,Uri,另一个图像对象),这个Bitmap是一个非常通用的对象。

根据您使用的技术,可能会有更专业的图像类型,最好使用。例如,如果您正在使用WPF,请查看 BitmapImage ,它将文件路径存储为属性 UriSource

如果您确实需要使用System.Drawing.Bitmaps,我建议您创建一个包含位图和文件路径的模型。像这样:

{
    public Bitmap MyImage {get; set; }
    public string FilePath {get; set; }
}