如何使用android

时间:2016-04-15 01:07:16

标签: java android image pdf mupdf

实际上我正在使用mupdf库来使用

来获取图像
  

drawPage(bitmap,pdfwidth,pdfHeight,x,y,imageWidth,imageHeight);

但是图像的质量没有达到标记,所以我增加了imageHeight和imageWidth然后我得到了高质量的图像但是图像占用了太多的内存,所以我得到了内存异常。

任何人都可以建议哪种方法可以解决这个问题。 获得高质量的图像后我需要平铺吗?或者我可以做些什么来获得高质量的图像,减少记忆?

或其他最佳方式?

先谢谢。

1 个答案:

答案 0 :(得分:0)

您正在处理未压​​缩的图像,因此内存使用量与宽度乘以高度直接相关。你不能做任何事情来减少内存使用量,同时保持高分辨率而不降低颜色深度,我怀疑你不想这样做。

所以解决方案就是磁贴(或者,根据你要完成的工作,波段 - 波段将是更常用的打印或导出到png的解决方案。)

你可以在java级别处理乐队。或者,如果您尝试导出为png或类似格式,则可以基于mupdf代码库中的source / tools / mudraw.c在C级编写代码,该代码库使用band来降低内存使用量(也可以使用多线程,以提高具有多个CPU核心的设备的速度。

如果不知道你想要达到什么目标,很难说哪种解决方案最好。如果您不熟悉C和JNI,那么最好使用java解决方案。