1

我正在开发一个winform应用程序。它引用了一个 dll 库。我想在这个库中使用一个函数'PDFImage'。此功能用于将图像放入 PDF 文档。函数“PDFimage”有一个字符串类型的参数“FileName”,它获取图像的文件位置。

现在我必须将图像作为一个单独的文件与项目构建后创建的 .exe 文件一起使用。这对我来说不方便。我现在要做的是我提到图像的文件名作为函数参数,如“Flower.jpg”。我将图像保存在 \bin\debug 文件夹中。我不想这样做,因为这需要将图像文件与可执行文件分开放置。

我正在尝试做的事情如下:我将图像文件作为现有项目添加到资源文件夹中。现在,要调用函数 PDFImage,我需要将文件名作为参数传递。我怎样才能做到这一点?

我有 dll 的源代码。根据需要修改源代码并创建另一个dll而不是我现在正在做的事情会更好吗?

4

2 回答 2

1

您所能做的就是获取资源,将其保存到文件(可能是临时文件),然后将文件名传递给函数。大多数在 .net 中获取文件的函数也需要一个流,所以如果你可以控制双方,我会这样做,然后你就不必搞乱文件系统了。

于 2013-09-16T21:48:49.823 回答
1

看看这是否有帮助;

    string apppath = Application.StartupPath;
    string resname = @"\Resource.bmp";
    string localfile = "";
    localfile = apppath + resname;//Create the path to this executable.
    //Btw we are going to use the "Save" method of Bitmap class.It
    //takes an absolute path as input and saves the file there.

    //We accesed the Image resource through Properties.Resources.Settings and called Save method
    //of Bitmap class.This saves the resource as a local file in the same folder as this executable.
    Properties.Resources.Image.Save(localfile);

    MessageBox.Show("The path to the local file is : " + Environment.NewLine + localfile + Environment.NewLine +
    "Go and check the folder where this executable is.",
    this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);


    //localfile is the path you need to pass to some function like this;
    //SomeClass.Somefunction(localfile);

希望这会有所帮助,如果您需要,这是一个示例。

于 2013-09-16T22:23:54.600 回答