Github user riknoll commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-camera/pull/203#discussion_r59300666
--- Diff: README.md ---
@@ -526,3 +526,207 @@ Tizen only supports a `destinationType` of
[web_activities]:
https://hacks.mozilla.org/2013/01/introducing-web-activities/
[wp8_bug]: https://issues.apache.org/jira/browse/CB-2083
[msdn_wp8_docs]:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394006.aspx
+
+## Sample: Take Pictures, Select Pictures from the Picture Library, and
Get Thumbnails
+
+The Camera plugin allows you to do things like open the device's Camera
app and take a picture, or open the file picker and select one. The code
snippets in this section demonstrate different tasks including:
+
+* Open the Camera app and take a Picture
+* Take a picture and return thumbnails (resized picture)
+* Take a picture and generate a FileEntry object
+* Select a file from the picture library
+* Select a JPEG image and return thumbnails (resized image)
+* Select an image and generate a FileEntry object
+
+## Take a Picture
+
+Before you can take a picture, you need to set some Camera plugin options
to pass into the Camera plugin's `getPicture` function. Here is a common set of
recommendations. In this example, you create the object that you will use for
the Camera options, and set the `sourceType` dynamically to support both the
Camera app and the file picker.
+
+```js
+function setOptions(srcType) {
+ var options = {
+ quality: 20,
+ destinationType: Camera.DestinationType.FILE_URI,
+ // In this app, dynamically set the picture source, Camera or
photo gallery
+ sourceType: srcType,
+ encodingType: Camera.EncodingType.JPEG,
+ mediaType: Camera.MediaType.PICTURE,
+ allowEdit: true,
+ correctOrientation: true //Corrects Android orientation quirks
+ }
+ return options;
+}
+```
+
+Typically, you want to use a FILE_URI instead of a DATA_URL to avoid most
memory issues. JPEG is the recommended encoding type for Android.
+
+You take a picture by passing in the options object to `getPicture`, which
takes a CameraOptions object as the third argument. When you call `setOptions`,
pass `Camera.PictureSourceType.CAMERA` as the picture source.
+
+```js
+function openCamera(selection) {
+
+ var srcType = Camera.PictureSourceType.CAMERA;
+ var options = setOptions(srcType);
+ var func = copyToFile;
+
+ navigator.camera.getPicture(function cameraSuccess(imageUri) {
+
+ displayImage(imageUri);
+ // You may choose to copy the picture, save it somewhere, or
upload.
+ func(imageUri);
+
+ }, function cameraError(error) {
+ console.debug("Unable to obtain picture: " + error, "app");
+
+ }, options);
+}
+```
+
+Once you take the picture, you can display it or do something else. In
this example, call the app's `displayImage` function from the preceding code.
+
+```js
+function displayImage(imgUri) {
+
+ var elem = document.getElementById('imageFile');
+ elem.src = imgUri;
+}
+```
+
+## Take a Picture and Return Thumbnails (Resize the Picture)
+
+To get smaller images, you can return a resized image by passing both
`targetHeight` and `targetWidth` values with your CameraOptions object. In this
example, you resize the returned images to 100px (the aspect ratio is
maintained, so 100px is either the height or width, whichever is greater).
+
+```js
+function openCamera(selection) {
+
+ var srcType = Camera.PictureSourceType.CAMERA;
+ var options = setOptions(srcType);
--- End diff --
Instead of saying "resize the returned images to 100px", perhaps you could
rephrase it to something like "resize the returned image to fit in a 100px by
100px box"
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]