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 は、ファイルから画像をロードするための 2 つの異なるメソッド、すなわちHPDF_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 に答える