ImageOptions |
+| Param | Type |
+| ------------- | ------------------------------------------------------------- |
+| **`options`** | TakePhotoOptions |
-**Returns:** Promise<Photo>
+**Returns:** Promise<MediaResult>
-**Since:** 1.0.0
+**Since:** 8.1.0
--------------------
-### pickImages(...)
+### recordVideo(...)
```typescript
-pickImages(options: GalleryImageOptions) => PromiseRecordVideoOptions |
+
+**Returns:** Promise<MediaResult>
+
+**Since:** 8.1.0
+
+--------------------
+
+
+### playVideo(...)
+
+```typescript
+playVideo(options: PlayVideoOptions) => PromisePlayVideoOptions |
+
+**Since:** 8.1.0
+
+--------------------
+
+
+### chooseFromGallery(...)
+
+```typescript
+chooseFromGallery(options: ChooseFromGalleryOptions) => PromiseChooseFromGalleryOptions |
+
+**Returns:** Promise<MediaResults>
+
+**Since:** 8.1.0
+
+--------------------
+
+
+### editPhoto(...)
+
+```typescript
+editPhoto(options: EditPhotoOptions) => PromiseEditPhotoOptions |
+
+**Returns:** Promise<EditPhotoResult>
+
+**Since:** 8.1.0
+
+--------------------
+
+
+### editURIPhoto(...)
+
+```typescript
+editURIPhoto(options: EditURIPhotoOptions) => PromiseGalleryImageOptions |
+| **`options`** | EditURIPhotoOptions |
-**Returns:** Promise<GalleryPhotos>
+**Returns:** Promise<MediaResult>
-**Since:** 1.2.0
+**Since:** 8.1.0
--------------------
@@ -222,41 +627,150 @@ Request camera and photo album permissions
--------------------
+### getPhoto(...)
+
+```typescript
+getPhoto(options: ImageOptions) => PromiseImageOptions |
+
+**Returns:** Promise<Photo>
+
+**Since:** 1.0.0
+
+--------------------
+
+
+### pickImages(...)
+
+```typescript
+pickImages(options: GalleryImageOptions) => PromiseGalleryImageOptions |
+
+**Returns:** Promise<GalleryPhotos>
+
+**Since:** 1.2.0
+
+--------------------
+
+
### Interfaces
-#### Photo
+#### MediaResult
-| Prop | Type | Description | Since |
-| ------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- |
-| **`base64String`** | string | The base64 encoded string representation of the image, if using CameraResultType.Base64. | 1.0.0 |
-| **`dataUrl`** | string | The url starting with 'data:image/jpeg;base64,' and the base64 encoded string representation of the image, if using CameraResultType.DataUrl. Note: On web, the file format could change depending on the browser. | 1.0.0 |
-| **`path`** | string | If using CameraResultType.Uri, the path will contain a full, platform-specific file URL that can be read later using the Filesystem API. | 1.0.0 |
-| **`webPath`** | string | webPath returns a path that can be used to set the src attribute of an image for efficient loading and rendering. | 1.0.0 |
-| **`exif`** | any | Exif data, if any, retrieved from the image | 1.0.0 |
-| **`format`** | string | The format of the image, ex: jpeg, png, gif. iOS and Android only support jpeg. Web supports jpeg, png and gif, but the exact availability may vary depending on the browser. gif is only supported if `webUseInput` is set to `true` or if `source` is set to `Photos`. | 1.0.0 |
-| **`saved`** | boolean | Whether if the image was saved to the gallery or not. On Android and iOS, saving to the gallery can fail if the user didn't grant the required permissions. On Web there is no gallery, so always returns false. | 1.1.0 |
+| Prop | Type | Description | Since |
+| --------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
+| **`type`** | MediaType | The type of media result. Either `Photo` or `Video`. | 8.1.0 |
+| **`uri`** | string | The URI pointing to the media file. Not available on Web. Use `webPath` instead for Web. | 8.1.0 |
+| **`thumbnail`** | string | Returns the thumbnail of the media, base64 encoded. On Web, for `MediaType.Photo`, the full image is returned here, also base64 encoded. On Web, for `MediaType.Video`, a full-resolution JPEG frame captured from the video is returned, base64 encoded at 80% quality. | 8.1.0 |
+| **`saved`** | boolean | Whether if the media was saved to the gallery successfully or not. Only applicable if `saveToGallery` was set to `true` in input options. Otherwise, `false` is always returned for `save`. Not available on Web. | 8.1.0 |
+| **`webPath`** | string | webPath returns a path that can be used to set the src attribute of a media item for efficient loading and rendering. | 8.1.0 |
+| **`metadata`** | MediaMetadata | Metadata associated to the media result. Only included if `includeMetadata` was set to `true` in input options. | 8.1.0 |
-#### ImageOptions
+#### MediaMetadata
+
+| Prop | Type | Description | Since |
+| ------------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
+| **`size`** | number | File size of the media, in bytes. | 8.1.0 |
+| **`duration`** | number | Only applicable for `MediaType.Video` - the duration of the media, in seconds. | 8.1.0 |
+| **`format`** | string | The format of the image, ex: jpeg, png, mp4. Android and iOS may return 'jpg' instead of 'jpeg'. The format is the same, just with a different name. Please compare against both 'jpeg' and 'jpg' when checking if the format of the returned media is JPEG. Web supports jpeg, png and gif, but the exact availability may vary depending on the browser. gif is only supported for `chooseFromGallery` on Web. | 8.1.0 |
+| **`resolution`** | string | The resolution of the media, in `<width>x<height>` format. Example: '1920x1080'. | 8.1.0 |
+| **`creationDate`** | string | The date and time the media was created, in ISO 8601 format. If creation date is not available (e.g. Android 7 and below), the last modified date is returned. For Web, the last modified date is always returned. | 8.1.0 |
+| **`exif`** | string | Exif data, if any, retreived from the media item. Only available for `MediaType.Photo`. Not available on Web. | 8.1.0 |
+
+
+#### TakePhotoOptions
+
+| Prop | Type | Description | Default | Since |
+| ------------------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ----- |
+| **`quality`** | number | The quality of image to return, from 0-100. Only applicable for `EncodingType.JPEG`. Note: This option is only supported on Android and iOS. | 100 | 8.1.0 |
+| **`targetWidth`** | number | The target width of photos to apply. Must be a positive number, and used along `targetHeight`. Note: This option is only supported on Android and iOS. | | 8.1.0 |
+| **`targetHeight`** | number | The target width of photos to apply. Must be a positive number, and used along `targetWidth`. Note: This option is only supported on Android and iOS. | | 8.1.0 |
+| **`correctOrientation`** | boolean | Whether to automatically rotate the image "up" to correct for orientation in portrait mode. Note: This option is only supported on Android and iOS | true | 8.1.0 |
+| **`encodingType`** | EncodingType | The encoding type for the captured photo - JPEG or PNG. Note: This option is only supported on Android and iOS. | EncodingType.JPEG | 8.1.0 |
+| **`saveToGallery`** | boolean | Whether to save the photo to the gallery. Note: This option is only supported on Android and iOS. | false | 8.1.0 |
+| **`cameraDirection`** | CameraDirection | iOS and Web only: The camera direction. | CameraDirection.Rear | 8.1.0 |
+| **`editable`** | 'in-app' \| 'external' \| 'no' | Determines if and how the user can edit the photo. - 'in-app': Use an in-app editor for photo edition. - 'external': Open a separate (platform-specific) native app to handle photo edition, falling back to the in-app editor if none is available. Note: iOS does not support external editing and will use 'in-app' instead. - 'no': No editing allowed. Not available on Web. | 'no' | 8.1.0 |
+| **`presentationStyle`** | 'fullscreen' \| 'popover' | iOS only: The presentation style of the Camera. | 'fullscreen' | 8.1.0 |
+| **`webUseInput`** | boolean | Web only: Whether to use the PWA Element experience or file input. The default is to use PWA Elements if installed and fall back to file input. To always use file input, set this to `true`. Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements | | 8.1.0 |
+| **`includeMetadata`** | boolean | Whether or not MediaResult should include its metadata. If an error occurs when obtaining the metadata, it will return empty. | false | 8.1.0 |
+
+
+#### RecordVideoOptions
+
+| Prop | Type | Description | Default | Since |
+| --------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ----- |
+| **`saveToGallery`** | boolean | Whether to save the video to the gallery. | false | 8.1.0 |
+| **`includeMetadata`** | boolean | Whether or not MediaResult should include its metadata. If an error occurs when obtaining the metadata, it will return empty. | false | 8.1.0 |
+| **`isPersistent`** | boolean | Whether the to store the video in persistent app storage or in temporary cache. If you plan to use the returned `MediaResult#URI` across app launches, you may want to set to true. Otherwise, you can set to false. | true | 8.1.0 |
+
+
+#### PlayVideoOptions
+
+| Prop | Type | Description | Since |
+| --------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ----- |
+| **`uri`** | string | The URI of the video to play. You may use the `MediaResult#URI` returned from `recordVideo` or `chooseFromGallery` directly. | 8.1.0 |
-| Prop | Type | Description | Default | Since |
-| ------------------------ | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ----- |
-| **`quality`** | number | The quality of image to return as JPEG, from 0-100 Note: This option is only supported on Android and iOS | | 1.0.0 |
-| **`allowEditing`** | boolean | Whether to allow the user to crop or make small edits (platform specific). On iOS it's only supported for CameraSource.Camera, but not for CameraSource.Photos. | | 1.0.0 |
-| **`resultType`** | CameraResultType | How the data should be returned. Currently, only 'Base64', 'DataUrl' or 'Uri' is supported | | 1.0.0 |
-| **`saveToGallery`** | boolean | Whether to save the photo to the gallery. If the photo was picked from the gallery, it will only be saved if edited. | : false | 1.0.0 |
-| **`width`** | number | The desired maximum width of the saved image. The aspect ratio is respected. | | 1.0.0 |
-| **`height`** | number | The desired maximum height of the saved image. The aspect ratio is respected. | | 1.0.0 |
-| **`correctOrientation`** | boolean | Whether to automatically rotate the image "up" to correct for orientation in portrait mode | : true | 1.0.0 |
-| **`source`** | CameraSource | The source to get the photo from. By default this prompts the user to select either the photo album or take a photo. | : CameraSource.Prompt | 1.0.0 |
-| **`direction`** | CameraDirection | iOS and Web only: The camera direction. | : CameraDirection.Rear | 1.0.0 |
-| **`presentationStyle`** | 'fullscreen' \| 'popover' | iOS only: The presentation style of the Camera. | : 'fullscreen' | 1.0.0 |
-| **`webUseInput`** | boolean | Web only: Whether to use the PWA Element experience or file input. The default is to use PWA Elements if installed and fall back to file input. To always use file input, set this to `true`. Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements | | 1.0.0 |
-| **`promptLabelHeader`** | string | Text value to use when displaying the prompt. | : 'Photo' | 1.0.0 |
-| **`promptLabelCancel`** | string | Text value to use when displaying the prompt. iOS only: The label of the 'cancel' button. | : 'Cancel' | 1.0.0 |
-| **`promptLabelPhoto`** | string | Text value to use when displaying the prompt. The label of the button to select a saved image. | : 'From Photos' | 1.0.0 |
-| **`promptLabelPicture`** | string | Text value to use when displaying the prompt. The label of the button to open the camera. | : 'Take Picture' | 1.0.0 |
+
+#### MediaResults
+
+| Prop | Type | Description | Since |
+| ------------- | -------------------------- | -------------------------- | ----- |
+| **`results`** | MediaResult[] | The list of media results. | 8.1.0 |
+
+
+#### ChooseFromGalleryOptions
+
+| Prop | Type | Description | Default | Since |
+| ---------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | ----- |
+| **`mediaType`** | MediaTypeSelection | The type of media to select. Can be pictures, videos, or both. | MediaTypeSelection.Photo | 8.1.0 |
+| **`allowMultipleSelection`** | boolean | Whether or not to allow selecting multiple media files from the gallery. | false | 8.1.0 |
+| **`limit`** | number | The maximum number of media files that the user can choose. Only applicable if `allowMultipleSelection` is `true`. Any non-positive number will be treated as unlimited. Note: This option is only supported on Android 13+ and iOS. | 0 | 8.1.0 |
+| **`includeMetadata`** | boolean | Whether or not MediaResult should include its metadata. If an error occurs when obtaining the metadata, it will return empty. | false | 8.1.0 |
+| **`editable`** | 'in-app' \| 'external' \| 'no' | Determines if and how the user can edit the photo. - 'in-app': Use an in-app editor for photo edition. - 'external': Open a separate (platform-specific) native app to handle photo edition, falling back to the in-app editor if none is available. Note: iOS does not support external editing and will use 'in-app' instead. - 'no': No editing allowed. Only applicable for `MediaTypeSelection.Photo` and `allowMultipleSelection` set to `false`. Not available on Web. | 'no' | 8.1.0 |
+| **`presentationStyle`** | 'fullscreen' \| 'popover' | iOS only: The presentation style of media picker. | 'fullscreen' | 8.1.0 |
+| **`quality`** | number | The quality of images to return, from 0-100. Only applicable for `MediaType.Photo` and JPEG format. Note: This option is only supported on Android and iOS. | 100 | 8.1.0 |
+| **`targetWidth`** | number | The target width of photos to apply. Must be a positive number, and used along `targetHeight`. Not applicable when videos are selected. Note: This option is only supported on Android and iOS. | | 1.0.0 |
+| **`targetHeight`** | number | The target width of photos to apply. Must be a positive number, and used along `targetWidth`. Not applicable when videos are selected. Note: This option is only supported on Android and iOS. | | 8.1.0 |
+| **`correctOrientation`** | boolean | Whether to automatically rotate the image "up" to correct for orientation in portrait mode. Not applicable when videos are selected. Note: This option is only supported on Android and iOS | true | 8.1.0 |
+| **`webUseInput`** | boolean | Web only: Whether to use the PWA Element experience or file input. The default is to use PWA Elements if installed and fall back to file input. To always use file input, set this to `true`. Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements | | 8.1.0 |
+
+
+#### EditPhotoResult
+
+| Prop | Type | Description | Since |
+| ----------------- | ------------------- | --------------------------------- | ----- |
+| **`outputImage`** | string | The edited image, base64 encoded. | 8.1.0 |
+
+
+#### EditPhotoOptions
+
+| Prop | Type | Description | Since |
+| ---------------- | ------------------- | --------------------------------- | ----- |
+| **`inputImage`** | string | The base64 encoded image to edit. | 8.1.0 |
+
+
+#### EditURIPhotoOptions
+
+| Prop | Type | Description | Default | Since |
+| --------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ----- |
+| **`uri`** | string | The URI that contains the photo to edit. | | 8.1.0 |
+| **`saveToGallery`** | boolean | Whether to save the edited photo to the gallery. | false | 8.1.0 |
+| **`includeMetadata`** | boolean | Whether or not MediaResult should include its metadata. If an error occurs when obtaining the metadata, it will return empty. | false | 8.1.0 |
#### GalleryPhotos
@@ -276,18 +790,6 @@ Request camera and photo album permissions
| **`format`** | string | The format of the image, ex: jpeg, png, gif. iOS and Android only support jpeg. Web supports jpeg, png and gif. | 1.2.0 |
-#### GalleryImageOptions
-
-| Prop | Type | Description | Default | Since |
-| ------------------------ | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------- | ----- |
-| **`quality`** | number | The quality of image to return as JPEG, from 0-100 Note: This option is only supported on Android and iOS. | | 1.2.0 |
-| **`width`** | number | The desired maximum width of the saved image. The aspect ratio is respected. | | 1.2.0 |
-| **`height`** | number | The desired maximum height of the saved image. The aspect ratio is respected. | | 1.2.0 |
-| **`correctOrientation`** | boolean | Whether to automatically rotate the image "up" to correct for orientation in portrait mode | : true | 1.2.0 |
-| **`presentationStyle`** | 'fullscreen' \| 'popover' | iOS only: The presentation style of the Camera. | : 'fullscreen' | 1.2.0 |
-| **`limit`** | number | Maximum number of pictures the user will be able to choose. Note: This option is only supported on Android 13+ and iOS. | 0 (unlimited) | 1.2.0 |
-
-
#### PermissionStatus
| Prop | Type |
@@ -303,6 +805,52 @@ Request camera and photo album permissions
| **`permissions`** | CameraPermissionType[] |
+#### Photo
+
+| Prop | Type | Description | Since |
+| ------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- |
+| **`base64String`** | string | The base64 encoded string representation of the image, if using CameraResultType.Base64. | 1.0.0 |
+| **`dataUrl`** | string | The url starting with 'data:image/jpeg;base64,' and the base64 encoded string representation of the image, if using CameraResultType.DataUrl. Note: On web, the file format could change depending on the browser. | 1.0.0 |
+| **`path`** | string | If using CameraResultType.Uri, the path will contain a full, platform-specific file URL that can be read later using the Filesystem API. | 1.0.0 |
+| **`webPath`** | string | webPath returns a path that can be used to set the src attribute of an image for efficient loading and rendering. | 1.0.0 |
+| **`exif`** | any | Exif data, if any, retrieved from the image | 1.0.0 |
+| **`format`** | string | The format of the image, ex: jpeg, png, gif. iOS and Android only support jpeg. Web supports jpeg, png and gif, but the exact availability may vary depending on the browser. gif is only supported if `webUseInput` is set to `true` or if `source` is set to `Photos`. | 1.0.0 |
+| **`saved`** | boolean | Whether if the image was saved to the gallery or not. On Android and iOS, saving to the gallery can fail if the user didn't grant the required permissions. On Web there is no gallery, so always returns false. | 1.1.0 |
+
+
+#### ImageOptions
+
+| Prop | Type | Description | Default | Since |
+| ------------------------ | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ----- |
+| **`quality`** | number | The quality of image to return as JPEG, from 0-100 Note: This option is only supported on Android and iOS. | | 1.0.0 |
+| **`allowEditing`** | boolean | Whether to allow the user to crop or make small edits (platform specific). Note: This option is only supported on Android and iOS. On iOS it's only supported for CameraSource.Camera, but not for CameraSource.Photos. | | 1.0.0 |
+| **`resultType`** | CameraResultType | How the data should be returned. Currently, only 'Base64', 'DataUrl' or 'Uri' is supported | | 1.0.0 |
+| **`saveToGallery`** | boolean | Whether to save the photo to the gallery. If the photo was picked from the gallery, it will only be saved if edited. Note: This option is only supported on Android and iOS. | false | 1.0.0 |
+| **`width`** | number | The desired maximum width of the saved image. The aspect ratio is respected. Note: This option is only supported on Android and iOS. | | 1.0.0 |
+| **`height`** | number | The desired maximum height of the saved image. The aspect ratio is respected. Note: This option is only supported on Android and iOS. | | 1.0.0 |
+| **`correctOrientation`** | boolean | Whether to automatically rotate the image "up" to correct for orientation in portrait mode. Note: This option is only supported on Android and iOS. | true | 1.0.0 |
+| **`source`** | CameraSource | The source to get the photo from. By default this prompts the user to select either the photo album or take a photo. | CameraSource.Prompt | 1.0.0 |
+| **`direction`** | CameraDirection | iOS and Web only: The camera direction. | CameraDirection.Rear | 1.0.0 |
+| **`presentationStyle`** | 'fullscreen' \| 'popover' | iOS only: The presentation style of the Camera. | 'fullscreen' | 1.0.0 |
+| **`webUseInput`** | boolean | Web only: Whether to use the PWA Element experience or file input. The default is to use PWA Elements if installed and fall back to file input. To always use file input, set this to `true`. Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements | | 1.0.0 |
+| **`promptLabelHeader`** | string | Text value to use when displaying the prompt. | 'Photo' | 1.0.0 |
+| **`promptLabelCancel`** | string | Text value to use when displaying the prompt. iOS only: The label of the 'cancel' button. | 'Cancel' | 1.0.0 |
+| **`promptLabelPhoto`** | string | Text value to use when displaying the prompt. The label of the button to select a saved image. | 'From Photos' | 1.0.0 |
+| **`promptLabelPicture`** | string | Text value to use when displaying the prompt. The label of the button to open the camera. | 'Take Picture' | 1.0.0 |
+
+
+#### GalleryImageOptions
+
+| Prop | Type | Description | Default | Since |
+| ------------------------ | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------- | ----- |
+| **`quality`** | number | The quality of image to return as JPEG, from 0-100 Note: This option is only supported on Android and iOS. | | 1.2.0 |
+| **`width`** | number | The desired maximum width of the saved image. The aspect ratio is respected. | | 1.2.0 |
+| **`height`** | number | The desired maximum height of the saved image. The aspect ratio is respected. | | 1.2.0 |
+| **`correctOrientation`** | boolean | Whether to automatically rotate the image "up" to correct for orientation in portrait mode | true | 1.2.0 |
+| **`presentationStyle`** | 'fullscreen' \| 'popover' | iOS only: The presentation style of the Camera. | 'fullscreen' | 1.2.0 |
+| **`limit`** | number | Maximum number of pictures the user will be able to choose. Note: This option is only supported on Android 13+ and iOS. | 0 (unlimited) | 1.2.0 |
+
+
### Type Aliases
@@ -324,6 +872,39 @@ Request camera and photo album permissions
### Enums
+#### MediaType
+
+| Members | Value |
+| ----------- | -------------- |
+| **`Photo`** | 0 |
+| **`Video`** | 1 |
+
+
+#### EncodingType
+
+| Members | Value |
+| ---------- | -------------- |
+| **`JPEG`** | 0 |
+| **`PNG`** | 1 |
+
+
+#### CameraDirection
+
+| Members | Value |
+| ----------- | -------------------- |
+| **`Rear`** | 'REAR' |
+| **`Front`** | 'FRONT' |
+
+
+#### MediaTypeSelection
+
+| Members | Value |
+| ----------- | -------------- |
+| **`Photo`** | 0 |
+| **`Video`** | 1 |
+| **`All`** | 2 |
+
+
#### CameraResultType
| Members | Value |
@@ -341,12 +922,36 @@ Request camera and photo album permissions
| **`Camera`** | 'CAMERA' | Take a new photo using the camera. |
| **`Photos`** | 'PHOTOS' | Pick an existing photo from the gallery or photo album. |
-
-#### CameraDirection
-
-| Members | Value |
-| ----------- | -------------------- |
-| **`Rear`** | 'REAR' |
-| **`Front`** | 'FRONT' |
-
+ URI: {savedFileUri} +
++ URI: {editedPhoto.uri} +
+ {editedPhoto.metadata?.size && ( ++ Size: {editedPhoto.metadata.size} bytes +
+ )} + {editedPhoto.metadata?.format && ( ++ Format: {editedPhoto.metadata.format} +
+ )} ++ Saved: {editedPhoto.saved ? "Yes" : "No"} +
+{formatMetadata(metadata, saved)}
+ {formatMetadata(metadata, saved)}
+ + This page tests Edit methods (editPhoto and editURIPhoto) in isolation using pre-loaded test images. +
++ To test Edit methods with Camera/Gallery workflows, visit the Take Picture or Gallery pages. +
++ Demo app showcasing the Capacitor Camera plugin features. Click one of the buttons to test a particular portion of the plugin. +
++ This page displays a chronological list of all media operations + performed using the Camera plugin. History is stored in + localStorage and persists across sessions. +
+Click a media item to open them.
++ No media history yet. Capture or select photos/videos to see + them here. +
++ {formatDate(item.timestamp)} +
++ Format: {item.metadata?.format ?? item.format ?? "N/A"} | Size:{" "} + {formatSize(item.metadata?.size ?? item.size)} + {item.mediaType === "video" && + ` | Duration: ${formatDuration(item.metadata?.duration ?? item.duration)}`} + {item.saved !== undefined && + ` | Saved: ${item.saved ? "Yes" : "No"}`} +
++ {item.uri ?? item.path ?? "N/A"} +
+