Java 如何更改mupdf的彩色绘图?

Java 如何更改mupdf的彩色绘图?,java,android,android-canvas,signature,mupdf,Java,Android,Android Canvas,Signature,Mupdf,我是新的安卓开发者。我的项目是使用mupdf for android登录到pdf文件。我使用源代码mupdf for androd(这里的源代码),您可以关闭它并尝试运行它,因为我在这个courceto上更改了一些内容,以便与我的旧源代码合并。我可以使用mupdf库登录到pdf文件。但我有一些问题,当我想改变标志的颜色。我找到了为signture设置颜色的代码,并将颜色从红色改为黑色(文件PageView.java中的代码) 但当我点击按钮时,我的画被画上了。签名的颜色恢复为红色。请有人给我一些

我是新的安卓开发者。我的项目是使用mupdf for android登录到pdf文件。我使用源代码mupdf for androd(这里的源代码),您可以关闭它并尝试运行它,因为我在这个courceto上更改了一些内容,以便与我的旧源代码合并。我可以使用mupdf库登录到pdf文件。但我有一些问题,当我想改变标志的颜色。我找到了为signture设置颜色的代码,并将颜色从红色改为黑色(文件PageView.java中的代码)


但当我点击按钮时,我的画被画上了。签名的颜色恢复为红色。请有人给我一些解决方案。谢谢你的评论,很抱歉我的英语不好

查看mupdf/platform/android/jni/mupdf.c,函数MuPDFCore\u addInkAnnotationInternal。在那里,您将看到颜色与线条一起硬连线为红色

color[0] = 1.0;
color[1] = 0.0;
color[2] = 0.0;
如果只是希望将其硬连线为黑色,则将1.0更改为0.0

如果希望生成的墨迹批注显示在PDF的打印版本中,则应在文件PDF annot.c中的函数PDF_create_annot中添加以下行:

pdf_dict_puts_drop(annot_obj, "F", pdf_new_int(doc, F_Print));
pdf_dict_puts_drop(annot_obj, "Rect", pdf_new_rect(doc, &rect));
行后:

pdf_dict_puts_drop(annot_obj, "F", pdf_new_int(doc, F_Print));
pdf_dict_puts_drop(annot_obj, "Rect", pdf_new_rect(doc, &rect));

谢谢你的评论。我也这么认为。现在我有了新问题。你能帮帮我吗。当我打印我的pdf文件(包含签名)时,我的签名消失了。如果我将打印格式更改为jpg,我可以看到并打印文件,但我的文件是模糊的:(.我已经编辑了我的答案,其中包括如何确保批注打印的解释Hank:D..那么你知道修改pdf文件的方法吗。因为我的pdf在我签名后修改了我的签名。签名可以看到,但当我打印pdf时它就消失了。我看到的只是一张附加了pdf文件的图像,没有修改过。:(.任何解决方案?@PaulGardiner您能告诉我如何为受密码保护的pdf保存注释吗?