我正在使用SandcaSTLes为我的项目生成CHM帮助文件。我想要一个可以分发的独立CHM文件,最好是自己分发。

我的问题是,要嵌入图像,似乎图像需要与CHM文件分开存在于用户的系统上。当我查看CHM文件的源代码时,它看起来像:

<img src="C:\Users\me\Pictures\wave.jpg" />

因此,如果我通过电子邮件将CHM文件发送给某人,而他们没有此图像,它将失败。一种替代方法是:
<img src="images/wave.jpg" />

并通过电子邮件将此人发送包含我的CHM文件和图像文件夹的ZIP。我认为这也不是一个很好的解决方案。

有什么方法可以“嵌入” CHM文件中的图像?还是有一个干净的解决方案?

作为记录,我将通过此XML代码在我的C#项目中包含此图像。
/// <summary>
/// Lorem ipsum dolor sit amet, consectetur adipiscing elit.
/// Pellentesque quis tortor sit amet magna posuere sagittis.
/// Integer aliquet nibh elit, ut porta ex laoreet et
/// </summary>
/// /// <remarks>A picture: <br />
/// <img src "C:\Users\me\Pictures\wave.jpg" />
/// </remarks>

最佳答案

它只是一个Visual Basic示例,但我认为C#就在附近。我假设您使用 SandcaSTLe 帮助文件生成器(SHFB)。

如果MAML主题中未使用图像,则只需将SHFB项目中的BuildAction设置为Content,然后将其放置在图像文件夹中即可。它们将自动复制到工作文件夹中,并编译到CHM帮助文件中。

将[images]文件夹导入到SHFB Project Explorer中的步骤,未被MAML主题引用:

  • 从树上下文菜单中选择“添加和现有文件夹...”,然后选择[images]-文件夹
  • 对于每个图像文件,将BuildAction从Image设置为Content
  • 在SHFB中,按“构建帮助文件”按钮

  • 构建完成后,您将获得一个带有图像的CHM帮助文件。

    我附加了一些Visual Basic项目的快照,SHFB和生成的CHM。

    关于html - 使用SandcaSTLes将图像嵌入CHM帮助文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26013972/

    10-14 19:21
    查看更多