這部分包含幾部份內容:圖片捕獲、編輯處理、鏡頭應用、保存分享上傳。下面所指的高像素圖片特指的是html
使用 Nokia lumia 1020 的 4100萬大尺寸傳感器拍攝的 3800 和 3400像素的圖片。算法
圖片捕獲:windows
你有兩種策略實如今你的應用中實現捕獲相片的功能。性能
使用手機已有的捕獲功能優化
當在你的應用中,捕獲照片不是核心的功能,你能夠考慮使用 Camera Capture Task 去拍照,而不是本身配合相機 APIs編碼
直接繪製相機界面。詳細查看 How to use the camera capture task for Windows Phone(MSDN)。也能夠參考使用spa
了 CameraCaputreTask 的示例應用的代碼 Filter Explorer。這種方式有幾種好處:htm
—很小的工做量圖片
—可靠一致的用戶體驗內存
—使用 CameraCaptureTask 所分配的內存不會算入你的應用佔用的內存,從而減小你的應用的內存佔用
—通過 PureView 處理過的很是高質量的 500萬的照片(具備高像素傳感器的設備上)
實現一個自定義的相機 UI
若是你想爲照片捕獲實現本身的相機 UI 和取景器來捕獲相片(PhotoCaptureDevice),像 Advanced Photo Capturing
中描述的 。這種方式你能夠:
—全面的掌控
—可以實現你想要的拍照參數的調整
—避免臨時使用的照片被保存到手機相冊中
—直接在你的應用的 UI 中捕獲照片而不是打開一個新的捕獲頁面
—可以得到原始的高像素圖片(在高像素傳感器的設備上)
不管如何都有一個權衡。並且有不少工做須要作,特別是捕獲和處理高像素的圖片。
關於高像素的圖片,你可能想要實現本身的拍照 UI,你沒必要拍攝高像素的相片去作
額外的處理。你一樣可使用相機捕獲的有很高質量的「低像素」的照片(好比500萬超採樣圖片)。
不管如何你應該知道在 Nokia lumia 1020 上,若是你經過 PhotoCaptureDevice 捕獲的500萬的圖片
將會有很高的質量,可是不如經過使用 CameraCaptureTask 捕獲的相同尺寸的圖片更好,由於本地相機
會作不少額外的處理,不只僅是超採樣。另外,若是你使用 PhotoCaptureDevice 捕獲了一張最大分辨率的
圖片,這有一些方法來可使用(詳細請看Capturing high resolution photos),可是你的照片通過調整尺寸後
不會像本地相機拍攝的相同尺寸的照片好,除非你很專業或者有很棒的算法。若是你想使用那種方法咱們寫了一些
指導和一些示例 Working with high resolution photos.
處理和編輯 照片/圖片
不管你是本身捕獲的照片,從圖片庫選取的圖片或者其餘的來源的圖片,而且想對它作一些事情,下面有一些編輯圖片的方法。
爲此 nokia 推薦你使用 Nokia Imaging SDK,這是一個在手機設備上高效處理圖片數據的類庫。包括的特性
包括編碼、解碼 JPEG 格式的圖片,添加各類濾鏡,剪切,旋轉,調整尺寸。這個 SDK 提供超過 50 種的預置的專業濾鏡,
具備很高的速度和性能。這個庫通過了儘量的優化,而且不須要解碼整張圖片來獲取圖片上的任何一部分數據。這意味着你能夠
爲高像素圖片添加各類效果而不須要擔憂你的內存會泄露。
這是一種方便處理各類尺寸圖片的方式,這裏有一些使用 Nokia Imaging SDK 的特殊的技巧 processing (high resolution) photos.
除了優化縮放和裁剪,這個話題同時討論瞭如何在設備上呈現高像素圖片。
獲取和保存照片/圖片
從哪裏得到圖片,把圖片保存到哪裏,一般是 媒體庫 和 本地存儲裏面,能夠參考實例文檔 How to use the photo chooser
task (MSDN) 和 Saving to the media library and the local folder (MSDN).
不管怎樣,若是你想處理高像素的圖片,在Accessing and saving (high resolution) photos 中描述了一些規則和技巧。
其中格外建議圖片的雙保存,即把高像素的圖片版本保存到本地存儲裏,把低像素的圖片保存到媒體庫。其餘的指導包括:
—怎樣使保存的兩個版本圖片保持關聯
—怎樣保持本地存儲乾淨
—怎樣經過使用富媒體擴展的編輯選擇器來提供給用戶一種簡單的方式把用戶從圖片庫導航到
你的應用程序,而且匹配獲取以前保存的高像素原圖。這也鼓勵了用戶打開你的應用來獲取這些圖片。
上述的不少實踐(和在Working with high resolution photos 中描述的實踐)是有效的,甚至
沒有使用高像素圖片。
把相片/圖片分享到在線服務
在 How to use the share media task for Windows Phone (MDSN). 中提到了如何分享媒體文件。分享
高像素的圖片 本質上和把圖片保存到照片庫是相同的,你須要把要分享的圖片進行縮小,實際上
若是你使用 ShareMediaTask 進行分享,它須要這張圖片是位於圖片庫中的,因此你須要首先把它保存在那。
惟一的區別是(不是指特定的高像素圖片)依賴於你要分享的服務,你可能會更積極的把圖片進行壓縮。在實際應用
中,像 Processing (high resolution) photos 中描述的,在 Nokia Imaging SDK 中只是簡單的參數的更改。
建立一個鏡頭應用程序
Windows Phone 8引入了一個新的類的應用程序:鏡頭。用戶能夠從內置的攝像頭應用程序經過提供一個取景器按鈕
切換到另外一個相機應用的用戶體驗。獲取更多信息: Lenses for Windows Phone 8 (MSDN).把應用程序聲明爲一個
鏡頭選取器應用是很是簡單的,像在 Advanced Photo Capturing 文章中進行了簡明的描述。
照片可擴展性
擴展照相的體驗正像Photo extensibility for Windows Phone (MSDN) 中描述的。擴展性在你的應用
中不只頗有用,同時鼓勵用戶使用你的應用。在 Accessing and saving (high resolution) photos文章中描述
瞭如何集成爲手機富媒體和照片編輯選擇器應用。這個功能也集成到了示例應用程序 Photo Inspector 中。
諾基亞 WiKi 原文連接:http://developer.nokia.com/Resources/Library/Lumia/#!imaging.html