鬼月廢話還是不要太多,不然別人會覺得我是在"鬼話連篇",直接PO上程式碼
JavaScript程式碼
<script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script> <script type="text/javascript" charset="utf-8"> var pictureSource; //圖片的來源 var destinationType; //返回值的格式設置 // Wait for PhoneGap to connect with the device document.addEventListener("deviceready",onDeviceReady,false); // PhoneGap 剛onload時 function onDeviceReady() { pictureSource=navigator.camera.PictureSourceType; destinationType=navigator.camera.DestinationType; } //一個按鈕將調用這個函數 //Android的怪癖:pictureSource.PHOTOLIBRARY和pictureSource.SAVEDPHOTOALBUM是相同的 //所以點選getPhoto(pictureSource.PHOTOLIBRARY) //或是getPhoto(pictureSource.SAVEDPHOTOALBUM)功能是相同的 function getPhoto(source) { // 取得圖像(成功事件 ,失敗事件,{圖片設定}); // getpicture(cameraSuccess,cameraError,{cameraOptions}); navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: destinationType.FILE_URI, sourceType: source }); } //照片是成功檢索時調用 function onPhotoURISuccess(imageURI) { //取消註釋,以查看base64編碼的圖像數據 // console.log(imageURI); //獲取的圖像處理 var largeImage = document.getElementById('largeImage'); //取消隱藏的圖像元素 largeImage.style.display = 'block'; //顯示取得的照片 // The inline CSS rules are used to resize the image largeImage.src = imageURI; } //錯誤發生時 function onFail(message) { alert('Failed because: ' + message); } </script>
html元件
<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">從相片的檔案庫</button><br> <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">從相片簿</button><br> <img style="display:none;width:60px;height:60px;" id="largeImage" src="" />
實作出來的畫面:
說明:
雖然有兩個功能按鈕可以作出這個功能,而且帶入的參數不同
但其實做出來的功能是一樣的,原因是Android的怪癖
Camera.PictureSourceType.PHOTOLIBRARY和PictureSourceType.SAVEDPHOTOALBUM
會被視為相同,都會都出現相同的相冊,官網說明文件中有提到
以上是為您做的簡單介紹,謝謝。