-
-
Save luispimenta/c6ee6fa9ac437aa0532f4dabb1d90c14 to your computer and use it in GitHub Desktop.
Phonegap Camera Capture Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Capture Photo</title> | |
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1"/> | |
<script type="text/javascript" charset="utf-8" src="js/phonegap.js"></script> | |
<script type="text/javascript" charset="utf-8"> | |
var pictureSource; // picture source | |
var destinationType; // sets the format of returned value | |
// Wait for PhoneGap to connect with the device | |
// | |
document.addEventListener("deviceready",onDeviceReady,false); | |
// PhoneGap is ready to be used! | |
// | |
function onDeviceReady() { | |
pictureSource=navigator.camera.PictureSourceType; | |
destinationType=navigator.camera.DestinationType; | |
} | |
// Called when a photo is successfully retrieved | |
// | |
function onPhotoDataSuccess(imageData) { | |
// Get image handle | |
// | |
var smallImage = document.getElementById('smallImage'); | |
// Unhide image elements | |
// | |
smallImage.style.display = 'block'; | |
// Show the captured photo | |
// The inline CSS rules are used to resize the image | |
// | |
smallImage.src = "data:image/jpeg;base64," + imageData; | |
} | |
// Called when a photo is successfully retrieved | |
// | |
function onPhotoFileSuccess(imageData) { | |
// Get image handle | |
console.log(JSON.stringify(imageData)); | |
// Get image handle | |
// | |
var smallImage = document.getElementById('smallImage'); | |
// Unhide image elements | |
// | |
smallImage.style.display = 'block'; | |
// Show the captured photo | |
// The inline CSS rules are used to resize the image | |
// | |
smallImage.src = imageData; | |
} | |
// Called when a photo is successfully retrieved | |
// | |
function onPhotoURISuccess(imageURI) { | |
// Uncomment to view the image file URI | |
// console.log(imageURI); | |
// Get image handle | |
// | |
var largeImage = document.getElementById('largeImage'); | |
// Unhide image elements | |
// | |
largeImage.style.display = 'block'; | |
// Show the captured photo | |
// The inline CSS rules are used to resize the image | |
// | |
largeImage.src = imageURI; | |
} | |
// A button will call this function | |
// | |
function capturePhotoWithData() { | |
// Take picture using device camera and retrieve image as base64-encoded string | |
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50 }); | |
} | |
function capturePhotoWithFile() { | |
navigator.camera.getPicture(onPhotoFileSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI }); | |
} | |
// A button will call this function | |
// | |
function getPhoto(source) { | |
// Retrieve image file location from specified source | |
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, | |
destinationType: destinationType.FILE_URI, | |
sourceType: source }); | |
} | |
// Called if something bad happens. | |
// | |
function onFail(message) { | |
alert('Failed because: ' + message); | |
} | |
</script> | |
</head> | |
<body> | |
<button onclick="capturePhotoWithData();">Capture Photo With Image Data</button> <br> | |
<button onclick="capturePhotoWithFile();">Capture Photo With Image File URI</button> <br> | |
<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br> | |
<button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button><br> | |
<img style="display:none;width:60px;height:60px;" id="smallImage" src="" /> | |
<img style="display:none;" id="largeImage" src="" /> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment