Android转换图像中的Pdf渲染器是透明背景 [英] Pdf Renderer in android converted image is Transparent background

查看:100
本文介绍了Android转换图像中的Pdf渲染器是透明背景的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm a newbie for android developing. I'm working on converting Pdf to Image and storing it in a location. I have used the PdfRenderer (API level 21) to convert the PDF to bitmap Image. The converted image is Transparent background. Please guide me to convert the image with white background. So that I can convert it to binary digits.

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

这是我转换后得到的透明图像

谢谢.

推荐答案

我使用了画布,并且效果很好

I have used canvas and it worked

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

谢谢.

这篇关于Android转换图像中的Pdf渲染器是透明背景的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆