从C 中的文件中读取图像,然后传递到Libharu的绘制方法
Read an image from file in C++ and pass to the DrawImage method of Libharu
我正在使用libharu库来生成PDF报告。在此报告中,我还必须绘制图像。该图像存在于文件中(可以是.jpg,.png,.jpeg)。
我如何安全地获取此图像的数据并传递给libharu的HPDF_Page_DrawImage(HPDF_Page page, HPDF_Image image, HPDF_REAL x, HPDF_REAL y, HPDF_REAL width, HPDF_REAL height);
方法?
ps:我不想使用其他库(例如OpenCV,libpng等)来读取图像。Libharu还提供了两种不同的方法来加载文件中的图像,即HPDF_LoadPngImageFromFile()
和HPDF_LoadRawImageFromFile(HPDF_Doc pdf, const char *filename, HPDF_UINT width, HPDF_UINT height, HPDF_ColorSpace color_space)
。HPDF_LoadRawImageFromFile()
的缺点是您需要事先加载图像的width
和height
,这在我的情况下是不可能的。
更新:我尝试使用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
在查看示例之后:
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:-image
这是我最多可以提供的而无需使用其他库。
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- SFML 文本未绘制在窗口上
- 如何在快板的屏幕中显示子位图的绘制?
- 如何绘制自定义形状的元素?
- QPainter 将 QBrush 设置为 在 QT/C++ 中绘制文本
- 除非重新绘制大小,否则SDL_Texture在调整大小后呈现黑色
- 绘制文本问题
- 在 QT C++中绘制/操作多边形
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 在现代OpenGL中,绘制GL_TRIANGLE奇怪的z轴行为的填充圆
- OpenGL 着色器不绘制任何东西 - 糟糕的精灵类
- 从C 中的文件中读取图像,然后传递到Libharu的绘制方法