Created
September 9, 2014 06:50
-
-
Save atmimran/69b70971550f82dbcbb0 to your computer and use it in GitHub Desktop.
Camera work in PhoneGap and make build in "build.phonegap"
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
<!-- First Add plugin in config.xml then go on build.phonegap.com <gap:plugin name="org.apache.cordova.camera" version="0.2.3" />--> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Capture Photo</title> | |
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script> | |
<script type="text/javascript" charset="utf-8"> | |
var pictureSource; // picture source | |
var destinationType; // sets the format of returned value | |
// Wait for Cordova to connect with the device | |
// | |
document.addEventListener("deviceready",onDeviceReady,false); | |
// Cordova 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) { | |
// Uncomment to view the base64 encoded image data | |
// console.log(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 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 capturePhoto() { | |
// Take picture using device camera and retrieve image as base64-encoded string | |
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, | |
destinationType: destinationType.DATA_URL }); | |
} | |
// A button will call this function | |
// | |
function capturePhotoEdit() { | |
// Take picture using device camera, allow edit, and retrieve image as base64-encoded string | |
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true, | |
destinationType: destinationType.DATA_URL }); | |
} | |
// 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="capturePhoto();">Capture Photo</button> <br> | |
<button onclick="capturePhotoEdit();">Capture Editable Photo</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