2016-04-15 29 views
-1

其實我現在用的是mupdf庫來獲取圖像通過獲取高質量的圖像如何從PDF使用mupdf庫中的Android

一個DrawPage(位圖,pdfwidth,pdfHeight,X,Y,imageWidth,imageHeight) ;

但圖像質量不達標,所以我增加了imageHeight和imageWidth然後我得到高質量的圖像,但圖像佔用太多的內存,這樣我就越來越內存異常。

任何人都可以建議哪個是解決此問題的最佳方法。 獲得高質量圖像後需要平鋪嗎?或者我可以做些什麼來獲得高品質的圖像佔用較少的內存?

或任何其他最好的方式來做到這一點?

在此先感謝。

回答

0

您正在處理未壓​​縮的圖像,因此內存使用情況與寬度乘以高度直接相關。沒有任何事情可以減少內存使用量,同時保持高分辨率而不降低顏色深度,我懷疑你不想這樣做。

所以解決方案是瓷磚(或者,根據你想要完成的工作,band-bands是打印或導出到png的更普通的解決方案)。

你可以在java級別處理band。或者,如果您嘗試導出爲PNG或類似格式,則可以在mupdf代碼庫中根據source/tools/mudraw.c在C級別編寫代碼,該代碼使用band來保持內存使用量不變(也可以使用多線程來提高具有多個CPU核心的設備的速度)。

很難說哪種解決方案最好不知道你想達到什麼效果。如果你不熟悉C和JNI,你可能最好使用java解決方案。