在 MuPDF 上将图标附加到 link
Attach icon to link on MuPDF
我在我的 android 项目中使用 MuPDF 库。我清楚地实施了它并且工作正常。在我的 PDF 中,有很多 link 用于导航浏览器,但用户无法理解它们。我想在项目有导航的布局上添加一个图标 link。我怎样才能做到这一点?
感谢您的帮助。
我找到了一个方法。
PageView.javaclass中有一个方法叫做**setPage(int page, PointF size)**
有一个块在突出显示链接上绘制内容。
if (!mIsBlank && mLinks != null && mHighlightLinks) {
paint.setStrokeWidth(2);
for (LinkInfo link : mLinks) {
RectF rectfa = new RectF((link.rect.left - 2) * scale, (link.rect.top - 2) * scale, (link.rect.right + 2) * scale, (link.rect.bottom + 2) * scale);
paint.setStyle(Paint.Style.FILL);
paint.setColor(LINK_COLOR);
canvas.drawRoundRect(rectfa, 3 * scale, 3 * scale, paint);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(HIGHLIGHT_COLOR);
canvas.drawRoundRect(rectfa, 3 * scale, 3 * scale, paint);
int left = (int) ((link.rect.left - 2) * scale);
int right = (int) ((link.rect.right + 2) * scale);
int top = (int) ((link.rect.top - 2) * scale);
int bottom = (int) ((link.rect.bottom + 2) * scale);
Rect dstRectForRender = new Rect(right - bitmap.getWidth(), top, right, top + bitmap.getHeight());
canvas.drawBitmap(bitmap, null, dstRectForRender, null);// I draw my bitmap on here.
}
}
我在我的 android 项目中使用 MuPDF 库。我清楚地实施了它并且工作正常。在我的 PDF 中,有很多 link 用于导航浏览器,但用户无法理解它们。我想在项目有导航的布局上添加一个图标 link。我怎样才能做到这一点? 感谢您的帮助。
我找到了一个方法。
PageView.javaclass中有一个方法叫做**setPage(int page, PointF size)**
有一个块在突出显示链接上绘制内容。
if (!mIsBlank && mLinks != null && mHighlightLinks) {
paint.setStrokeWidth(2);
for (LinkInfo link : mLinks) {
RectF rectfa = new RectF((link.rect.left - 2) * scale, (link.rect.top - 2) * scale, (link.rect.right + 2) * scale, (link.rect.bottom + 2) * scale);
paint.setStyle(Paint.Style.FILL);
paint.setColor(LINK_COLOR);
canvas.drawRoundRect(rectfa, 3 * scale, 3 * scale, paint);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(HIGHLIGHT_COLOR);
canvas.drawRoundRect(rectfa, 3 * scale, 3 * scale, paint);
int left = (int) ((link.rect.left - 2) * scale);
int right = (int) ((link.rect.right + 2) * scale);
int top = (int) ((link.rect.top - 2) * scale);
int bottom = (int) ((link.rect.bottom + 2) * scale);
Rect dstRectForRender = new Rect(right - bitmap.getWidth(), top, right, top + bitmap.getHeight());
canvas.drawBitmap(bitmap, null, dstRectForRender, null);// I draw my bitmap on here.
}
}