VS解决方案的默认目录或起始目录是什么?

时间:2016-03-04 22:06:07

标签: c++ image gdi+

我的场景:

我想在我正在Visual Studio 2013中使用的项目中使用图像文件“ship.png”。

我使用的每个路径都返回NULL,所以我很困惑从哪里开始我的路径字符串。我试图通过使用“FromFile()”将它加载到GDI +类'Image'类型的对象中。

// image is defined previously and is a Image*.
image = Image::FromFile(L"ship.png");
// When I debug, image is still NULL like it is when it is initialized. 

我的问题:

该程序从哪个目录开始?我会假设exe文件,但我尝试使用缩减到该场景的路径,但它仍然返回NULL。 我还尝试将映像文件直接放入解决方案文件所在的目录中,并将exe文件所在的目录放在路径“ship.png”中,在这两种情况下它仍为NULL。

有什么想法吗?如果你对GDI +有经验并且从未听说过这个,那么我可能做错了,因为它有一个非常令人困惑和错综复杂的(在我看来)API。

找到指定问题的解决方案:

我需要在操作之前插入以下代码:

ULONG_PTR gdiplusToken;
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

以下代码:

GdiplusShutdown(gdiplusToken);

现在图片不再为空。

感谢阅读。

1 个答案:

答案 0 :(得分:1)

VS查找该文件的默认位置是包含源文件的目录(* .cpp文件)