2008-10-28 95 views
5

我正在嘗試在高端諾基亞手機(N95)上進行圖像拍攝。手機的內置攝像頭非常好(4百萬像素),但在J2ME中,我似乎最多隻能獲得1360x1020的圖像。我主要從這個例子中獲得了http://developers.sun.com/mobility/midp/articles/picture/j2me中的全分辨率攝像頭

我所做的是從640x480開始,分別將寬度和高度分別增加80和60,直到失敗。的代碼行是:

JPG = mVideoControl.getSnapshot( 「編碼= JPEG &質量= 100 &寬度=」 +寬度+ 「&高度=」 +高度);

所以這兩個問題是: 1.手機在獲取大於1360x1020的圖像時會引發異常。 2.較高分辨率的圖像似乎只是平滑版本的較小圖像。例如。當我拍攝一張640x480圖像並在Photoshop中增加圖像時,我無法分辨這與一個1360x1020的區別。

這是j2me在手機上的限制嗎?如果有的話,是否有人知道從j2me應用程序中獲得更高分辨率的方法和/或如何從另一個應用程序中訪問本機相機?

回答

6

explanation諾基亞論壇可以幫助您。

它說:「可以捕獲的最大圖像大小取決於選定的圖像格式,編碼選項和可用的空閒堆存儲器。」

「據因而強烈勸至少較大的圖像(比1mpix更大)被捕獲作爲JPEG圖像和在一個共同的圖像大小(例如1600×1200爲2mpix的等等)。支持的共同圖像大小依賴於產品和平臺版本。「

所以我建議你嘗試一下 1.與1600x1200,1024x768和任何圖像分辨率你的N95指南提到 2.與BMP和PNG以及。

無論如何,根據我以前的經驗(可能已經過時),j2me的實現充滿了bug,所以可能沒有解決您的問題的工作方案。

1

JPEG(由代碼解釋)的'質量'與分辨率無關。而是與圖像的壓縮方式有關。質量爲100的640x480圖像比在50的640x480圖像顯着更好看,但會佔用更多的存儲空間。

試試這個:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536"); 
+0

感謝您的幫助,但這會產生另一個問題(請參閱編輯)。 – Cory 2008-10-28 21:52:56