Android中的Pdf渲染器转换的​​图像是透明背景

2024-01-07

我是android开发的新手。我正在努力将 Pdf 转换为图像并将其存储在某个位置。我使用 PdfRenderer(API 级别 21)将 PDF 转换为位图图像。转换后的图像是透明背景。请指导我将图像转换为白色背景。这样我就可以将其转换为二进制数字。

PdfRenderer renderer = new PdfRenderer(ParcelFileDescriptor.open(pdfFile, ParcelFileDescriptor.MODE_READ_ONLY));

        Bitmap bitmap;
        final int pageCount = renderer.getPageCount();
        System.out.println("pageCount"+pageCount);
        for (int i = 0; i < pageCount; i++) {
            PdfRenderer.Page page = renderer.openPage(i);

            int width = getResources().getDisplayMetrics().densityDpi / 72 * page.getWidth();
            int height = getResources().getDisplayMetrics().densityDpi / 72 * page.getHeight();
            bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
page.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_PRINT);
            storeImage(bitmap,"test.bmp");//I have wrote a function here to save the image

这是我转换后得到的透明图像 https://i.stack.imgur.com/y3KUl.png

提前致谢。


我用过画布并且有效

Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.WHITE);
canvas.drawBitmap(bitmap, 0, 0, null);

谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中的Pdf渲染器转换的​​图像是透明背景 的相关文章

随机推荐