gpt4 book ai didi

android - 如何将我自己的 Canvas 设置到 PdfDocument.Page

转载 作者:行者123 更新时间:2023-11-30 04:58:56 26 4
gpt4 key购买 nike

我有一个包含所有绘图的mCanvas 对象。现在,我想在我的 PdfDocument 中使用相同的 Canvas ,这样我也可以将它另存为 PDF 文件。

PdfDocument pdfDocument = new PdfDocument();
PageInfo pageInfo = new PageInfo.Builder(mCanvas.getWidth(),
mCanvas.getHeight(), 1).create();
Page pdfPage = pdfDocument.startPage(pageInfo);

//pdfPage.setCanvas(mCanvas); <--- this is what I want to achieve

PdfDocument 这可能吗? ?

最佳答案

正如@CommonsWare 在评论部分提到的,没有办法“回放”在 Canvas 上进行的绘图操作。解决我的问题的解决方案如下。

Bitmap bitmap = mCanvas.getBitmap();
int width = bitmap.getWidth();
int height = bitmap.getHeight();

PdfDocument pdfDocument = new PdfDocument();
PdfDocument.PageInfo.Builder builder =
new PdfDocument.PageInfo.Builder(width, height, 1);
PdfDocument.PageInfo pageInfo = builder.create();
PdfDocument.Page pdfPage = pdfDocument.startPage(pageInfo);
Canvas pdfCanvas = pdfPage.getCanvas();

pdfCanvas.drawBitmap(bitmap, 0, 0, null);

pdfDocument.finishPage(pdfPage);
pdfDocument.writeTo(outputStream);
pdfDocument.close();

简而言之,我没有将原始 Canvas 设置到我的 PdfDocument 中,而是提取了原始 Canvas 的位图并将其绘制到我的 PdfDocument 的 Canvas 中。

关于android - 如何将我自己的 Canvas 设置到 PdfDocument.Page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58578938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com