Mono for Android アプリケーション内で Android で PDF ドキュメントをレンダリングしようとしています。C で記述された MuPdf ライブラリを使用していますが、1 つの C 関数の呼び出しに問題があります。私が得るもの:
System.EntryPointNotFoundException: fz_pixmap_samples
C 関数:
unsigned char *fz_pixmap_samples(fz_context *ctx, fz_pixmap *pix)
{
if (!pix)
return NULL;
return pix->samples;
}
私のC#ラッパー:
public class APV
{
[DllImport("libmupdf.so", EntryPoint = "fz_pixmap_samples", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr fz_pixmap_samples(IntPtr ctx, IntPtr pix);
public static IntPtr GetSamples(IntPtr ctx, IntPtr pix)
{
return fz_pixmap_samples(ctx, pix);
}
}
GetSamples を呼び出す方法:
APV.GetSamples(context, pix);
関数 fz_pixmap_samples(fz_context *ctx, fz_pixmap *pix) は、ビットマップ データへのポインターを返す必要があります。unsigned char * を IntPtr にマッピングするのは正しくないと思いますか? 誰でも助けてもらえますか?