首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载映像时,libharu内存分配失败

加载映像时,libharu内存分配失败
EN

Stack Overflow用户
提问于 2013-04-21 20:10:51
回答 1查看 1.5K关注 0票数 1

我有一些C代码试图使用libharu。虽然我可以使用这个库的所有函数(甚至是UTF8),但我很难绘制图像。下面是一些非常基本的代码:

代码语言:javascript
复制
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <setjmp.h>
#include "hpdf.h"

jmp_buf env;

#ifdef HPDF_DLL
void  __stdcall
#else
void
#endif
error_handler  (HPDF_STATUS   error_no,
                HPDF_STATUS   detail_no,
                void         *user_data)
{
    printf ("ERROR: error_no=%04X, detail_no=%u\n", (HPDF_UINT)error_no,
                (HPDF_UINT)detail_no);
    longjmp(env, 1);
}

int main (int argc, char **argv)
{
    HPDF_Doc  pdf;
    HPDF_Font font;
    HPDF_Page page;
    char fname[256];
    HPDF_Image image;

    strcpy (fname, argv[0]);
    strcat (fname, ".pdf");

    pdf = HPDF_New (error_handler, NULL);
    if (!pdf) {
        printf ("error: cannot create PdfDoc object\n");
        return 1;
    }

    /* error-handler */
    if (setjmp(env)) {
        HPDF_Free (pdf);
        return 1;
    }


    font = HPDF_GetFont (pdf, "Helvetica", NULL);


    page = HPDF_AddPage (pdf);

    HPDF_Page_SetWidth (page, 550);
    HPDF_Page_SetHeight (page, 500);

    image = HPDF_LoadPngImageFromFile (pdf, "img.png");


    HPDF_SaveToFile (pdf, fname);


    HPDF_Free (pdf);

    return 0;
}

当我编译它时,我有ERROR: error_no=1015, detail_no=0。我在堆栈溢出中发现了一个类似的帖子:this。然而,尽管最初的海报说这个问题已经解决了,但它对我的帮助微乎其微。我将img.png移到一个文件夹中,并重新编译了该文件。更改了显示/home/name/path/to/img.png的代码,这是图像的直接路径。毫无办法。我“总是”有相同的错误,但是当我更改文件名时,我有ERROR: error_no=1017, detail_no=2,这基本意味着程序找不到图像(根据libharu的引用),所以我推断程序找到了img.png;但是,奇怪的是,不能分配必要的内存。这很奇怪,因为我看不出这个程序有什么理由不分配内存。我有各种许可。

我使用GCC 4.7.2下的和libharu 2.3.0 RC2。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-11-03 13:27:21

你好多项式等式。

当我将haru sdk集成到macOS环境中时,我也遇到了同样的问题。

error_handler返回了ERROR: error_no=1017, detail_no=2,然后我在handling.html查询0x1017上检查了haru的正式文档,这表明文件未能打开,因此我怀疑HPDF_LoadPngImageFromFile方法的第二参数需要传递一个确切的png图像文件路径E 210,所以在我修改它之后,问题就解决了,我希望能帮助您。

守则如下:

代码语言:javascript
复制
char filename1[255];
strcpy(filename1, "/Users/xx/Downloads/lusaceg.com.png");
image = HPDF_LoadPngImageFromFile (pdf, filename1);

忠实的你的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16135689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档