簡體   English   中英

如何從J2ME中的大圖像文件中獲取經驗?

[英]How to make a thumb from a big image file in J2ME?

我正在嘗試在J2ME應用程序中顯示大圖像文件。 但是我發現當圖像文件太大時,我什至無法創建Image實例並獲得OutOfMemory異常。

我想我可以一小塊讀取圖像文件並創建縮略圖以顯示給用戶?
有沒有辦法做到這一點? 還是有其他方法可以在應用程序中顯示圖像文件?
謝謝。

您可以嘗試多種方法,具體取決於您要執行的操作以及希望在其上運行應用程序的手機。

如果將映像打包在MIDlet JAR文件中,則您對MIDP運行時的操作控制較少,因為在將數據作為映像加載之前需要解壓縮數據。 在這種情況下,我建議您僅打包一個較小的圖像。 減少像素數或減少用於編碼每個像素的字節數。

如果您可以從基於GCF的InputStream(文件,網絡...)讀取圖像字節,則需要了解圖像格式(BMP很簡單,而JPEG則更少...),以便可以將其縮小為可變的占用較少內存的Image對象,一次只占用一個塊。

在這種情況下,您還需要確定縮放算法應該是什么。 如果手機上的LCDUI實現編寫不正確,則將文件中的32位像素轉換為內存中的8位像素實際上可能無法按預期方式工作。

根據圖像的內容,僅刪除一半的像素列和一半的像素行可能恰好是您所需要的,或者是太幼稚的方法。 您可能需要查看現有的圖像縮放算法,然后將其寫入應用程序。

請記住,基本的LCDUI可能不是在屏幕上顯示圖像的唯一方法。 JSR-184,JSR-239,JSR-226和eSWT都可以使您以完全獨立於手機LCDUI實施方式的方式進行操作。

最后,讓我們面對現實吧,如果您的手機MIDP運行時不允許您同時在全色深度上創建至少兩張屏幕大小的圖像,那么可能是時候決定不支持該特定手機了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM