0

我正在使用 LibHaru 库来生成 Pdf 报告。在这份报告中,我还必须绘制图像。图像存在于文件中(可以是 .jpg、.png、.JPEG)。

如何安全地获取此图像的数据并传递给HPDF_Page_DrawImage(HPDF_Page page, HPDF_Image image, HPDF_REAL x, HPDF_REAL y, HPDF_REAL width, HPDF_REAL height);LibHaru 的方法?

PS:我不想只使用其他库(如 opencv、libpng 等)来读取图像。LibHaru 还提供了两种不同的方法来从文件 ieHPDF_LoadPngImageFromFile()HPDF_LoadRawImageFromFile(HPDF_Doc pdf, const char *filename, HPDF_UINT width, HPDF_UINT height, HPDF_ColorSpace color_space). 缺点HPDF_LoadRawImageFromFile()是您需要事先知道要加载的图像的widthheight,这在我的情况下是不可能的。

更新:我尝试使用HPDF_Image Image = HPDF_LoadPngImageFromFile(pdf, "E:/images/logo.png");,但这会导致 VS21010 中出现以下链接器错误

LibHaru.lib(hpdf_image_png.obj) : error LNK2019: unresolved external symbol png_set_strip_16 referenced in function LoadPngData

4

1 回答 1

0

在查看以下示例后:

https://github.com/libharu/libharu/wiki/Examples

有一个加载图像并获取其数据的示例,我明确查看了具有以下示例的 png_demo.c 文件:

image = HPDF_LoadPngImageFromFile (pdf, filename1);

/* Draw image to the canvas. */
HPDF_Page_DrawImage (page, image, x, y, HPDF_Image_GetWidth (image),
                HPDF_Image_GetHeight (image));

LibHaru 的完整文档位于: https ://github.com/libharu/libharu/wiki/Installation

HPDF_LoadPngImageFromFile 方法返回文件的 HPDF_Image,这可能是您获得图像指针的最接近的方法,在他们的文档中,他们可用于检索有关图像的信息,例如其宽度、高度和位数组件位于此页面上: https ://github.com/libharu/libharu/wiki/API%3A-Image

这是我在不使用其他库的情况下所能提供的最多。

于 2016-12-08T16:20:03.453 回答