【问题标题】:Finding the path of an image file inside a monomac project在 monomac 项目中查找图像文件的路径
【发布时间】:2011-06-18 11:35:25
【问题描述】:

我是 mono 和 monomac 的新手,我遇到了一些我希望很容易解决的问题。

在我的应用程序中,我想在运行时更改一些图像,所以我创建了一个“图像”文件夹,其中包含我在项目根目录中的图片。 但是当我尝试更改代码中的图像时,找不到图像,所以我认为我写错了路径。

我尝试得到这样的图像:

NSImage image = new NSImage("Images/image2.jpg"); // I tried with different paths but nothing changed...
pic1.Image = image;

如果我使用图像的完整路径,一切正常,但我需要使用相对路径。 我应该如何获得正确的相对路径?

我正在使用 Monodevelop。

谢谢。

【问题讨论】:

  • 2 条建议。首先,@"Images\image2.jpg"。其次,相对路径通常是相对于当前目录的。找出当前目录是什么。 Environment.CurrentDirectory.
  • MonoMac 在 Mac OS X 上运行,所以路径分隔符确实是 '/'。

标签: c# path mono monodevelop monomac


【解决方案1】:

可以使用NSBundle.PathForResourceAbsolute方法定位图片,然后加载。

【讨论】:

    【解决方案2】:

    在我自己的项目中,我在 Github 上查找了 MonoMac 示例,发现其中一个也是 loads images at runtime。

    他们只需调用:

    var myImage = NSImage.ImageNamed ("some.png");
    

    我已将我的图像放在我的项目中的一个子文件夹“/Images”中,并且此函数仍然可以成功加载我的图像。

    所以也许这也可以解决您的问题。

    【讨论】:

      【解决方案3】:

      您还可以使用 System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) 来获取资源路径。

      【讨论】:

        猜你喜欢
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 2011-01-09
        • 2016-07-02
        • 1970-01-01
        相关资源
        最近更新 更多