Skip to content

Instantly share code, notes, and snippets.

@dhavaln
Created March 29, 2012 14:33
Show Gist options
  • Select an option

  • Save dhavaln/2238017 to your computer and use it in GitHub Desktop.

Select an option

Save dhavaln/2238017 to your computer and use it in GitHub Desktop.
Phonegap Camera Capture Example
<!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>
@abenhadjhammouda

Copy link
Copy Markdown

thank you very helpful

@ibrahimmumcu

Copy link
Copy Markdown

Is this code really enough access camera?

I just wrote html & css code for my project. Then if I add this code to my project can I access the camera?

@waelou

waelou commented Feb 27, 2014

Copy link
Copy Markdown

thanks man I hope you send me the phonegap.js file I can't find it

@waelou

waelou commented Feb 27, 2014

Copy link
Copy Markdown

thanks man I hope you send me the phonegap.js file I can't find it

@avishayhajbi

Copy link
Copy Markdown

it doesn't work in my project do you know why?

@dheeraj85

Copy link
Copy Markdown

How can i get phonegap.js file?

@john-ufmedia

Copy link
Copy Markdown

Just include phonegap.js, you don't require the actual file, this will be handled by the build process.

@joannalimbaga

Copy link
Copy Markdown

how to include phonegap.js?

@avinashinde2020

Copy link
Copy Markdown

fi you cannot find phonegap.js then include cordova.js. It works with cordova.js

@adamapps

Copy link
Copy Markdown

Awesome, thanks bro! Been looking for ever for a tutorial that worked but seemed like I kept getting ones with older api's, this worked perfectly, thanks again!

@Marykai

Marykai commented Dec 1, 2014

Copy link
Copy Markdown

Why this isn't working for me...?
Tells:
Uncaught ReferenceError: Camera is not defined at file:///android_asset/www/index.html:72

@spaceless00

Copy link
Copy Markdown

very good thanks

ghost commented Jan 9, 2015

Copy link
Copy Markdown

This is great. What's the license on this code?

@zaheer12

Copy link
Copy Markdown

Iam new in phonegap
when trying to use phonegap camera plugins get error.
Uncaught TypeError: cannot call method 'getpicture' of undefine at filename(index.html).
(using cordova-2.9.0)

@Sarbasish

Copy link
Copy Markdown

Not working in Android

@AmitLomte1

Copy link
Copy Markdown

I want to upload captured photo to server But that photo will be send from same page not again need to browse that pic from gallary and upload it please help me soon I am working on Phonegap desktop app

@gobisankar11

Copy link
Copy Markdown

smallImage.src =imagedata1;

        alert("data:image/jpeg;base64," + imageData);

        var sig="gobi";

        $.ajax("http://182.74.207.232:8080/timetracking/customerInfoStoringAndroid.do?cmd=saveclientdetails1&imagedata="+smallImage+"&sigdata="+sig).done(function(data) {
                                                                                                                                                          });


    }

alert("data:image/jpeg;base64," + imageData); not working and not getting string format for send server

@daksamedia

Copy link
Copy Markdown

is this works on phonegap build??

@NikitaPatel1

Copy link
Copy Markdown

Hi ,
I took this code and executed it on Ripple Simulator and it gives me an error phonegap.js not found(404 error)

I then replaced it to include Cordova.js and then it gives error Cordova_Plugin.js not found.

Can anyone please guide me.

Thanks in Advance.

@ngopal

ngopal commented Aug 30, 2015

Copy link
Copy Markdown

@NikitaPatel1 Have you added the camera plugin to your project? The command is "cordova plugin add cordova-plugin-camera" (as found in the docs: http://docs.phonegap.com/en/edge/cordova_camera_camera.md.html)

@sankari123

Copy link
Copy Markdown

I am having orientation problem. The captured photo is titlted towards right -90 deg

@Ganeshakumar

Copy link
Copy Markdown

Can anybody tell me, how to use zoom functionality here ?

@mrwebninja

Copy link
Copy Markdown

I am absolutely new to phonegap, not know how to use this camera.html
I am trying this with phonegap desktop
what I try put camera.html in www directory & in index.html give link to camera.html then open app in mobile using phonegap mobile app & by clicking link I go to camera.html, there is 4 buttons & none of them work
can anyone help me with this
Thanks

@zanurano

Copy link
Copy Markdown

get image data not show after capture..
why?

@Yjaballi

Yjaballi commented Jun 3, 2016

Copy link
Copy Markdown

Is this code really enough for acces camera.i just copied the code in index.html,is that it?

@henriqueweiand

Copy link
Copy Markdown

is possible choice photo on my library or catch a new image on camera with the same button?

@SerhiiOst

Copy link
Copy Markdown

It just doesn't work. I'm clicking on button and nothing happens. On browser it says:
Uncaught TypeError: Cannot read property 'getPicture' of undefined
at capturePhotoWithFile (index.html:74)
at HTMLButtonElement.onclick (index.html:94)

I installed cordova-plugin-camera using console command but it doesn't work anyway. Please help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment