如何改变mupdf的彩色绘图?

时间:2013-10-15 03:26:51

标签: java android android-canvas signature mupdf

我是新的android deverloper。我的项目是使用mupdf for android来签署pdf文件。我使用源代码mupdf for androd(源代码在这里https://github.com/muennich/mupdf/tree/master/android)你可以尝试运行它,因为我已经改变了这个courceto合并的一些东西我的老来源。我可以用mupdf liblary签名到pdf文件。但是当我想改变signture的颜色时,我有一些问题。我找到了为signture设置颜色的代码,并将颜色从红色变为黑色(文件PageView.java https://github.com/muennich/mupdf/blob/master/android/src/com/artifex/mupdfdemo/PageView.java上的代码)

paint.setStyle(Paint.Style.STROKE);
                    paint.setStrokeWidth(INK_THICKNESS*scale);
                    paint.setColor(INK_COLOR);
                    canvas.drawPath(path, paint);

但是当我点击按钮时我会画画。签名的颜色变回红色。请给我一些解决方案。感谢任何评论,抱歉我的英语不好......

1 个答案:

答案 0 :(得分:0)

查看mupdf / platform / android / jni / mupdf.c,函数MuPDFCore_addInkAnnotationInternal。在那里,您将看到颜色通过线

硬连线到红色
color[0] = 1.0;
color[1] = 0.0;
color[2] = 0.0;

如果您只是想将其硬连线为黑色,则将1.0更改为0.0。

如果您希望生成的Ink注释显示在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));