parent
1412e80366
commit
6d69159582
@ -0,0 +1,58 @@ |
|||||||
|
--- |
||||||
|
layout: page |
||||||
|
title: "Snapshot Size" |
||||||
|
subtitle: "Sizing the snapshots output" |
||||||
|
description: "Sizing the snapshots output" |
||||||
|
category: docs |
||||||
|
order: 9 |
||||||
|
date: 2019-02-24 17:36:39 |
||||||
|
disqus: 1 |
||||||
|
--- |
||||||
|
|
||||||
|
Snapshots are captured from the preview stream instead of using a separate capture channel. |
||||||
|
They are extremely fast, small in size, and give you a low-quality output that can be easily |
||||||
|
uploaded or processed. |
||||||
|
|
||||||
|
The snapshot size is based on the size of the preview stream, which is described in the [Preview Size](preview-size.html) document. |
||||||
|
Although the preview stream size is customizable, note that this is considered an advanced feature, |
||||||
|
as the best preview stream size selector already does a good job for the vast majority of use cases. |
||||||
|
|
||||||
|
When taking snapshots, the preview stream size is then changed to match some constraints. |
||||||
|
|
||||||
|
### Matching the preview ratio |
||||||
|
|
||||||
|
Snapshots will automatically be cropped to match the preview aspect ratio. This means that if your |
||||||
|
preview is square, you can finally take a square picture or video, regardless of the available sensor sizes. |
||||||
|
|
||||||
|
Take a look at the [Preview Size](preview-size.html) document to learn about preview sizing. |
||||||
|
|
||||||
|
### Other constraints |
||||||
|
|
||||||
|
You can refine the size further by applying `maxWidth` and a `maxHeight` constraints: |
||||||
|
|
||||||
|
```java |
||||||
|
cameraView.setSnapshotMaxWidth(500); |
||||||
|
cameraView.setSnapshotMaxHeight(500); |
||||||
|
``` |
||||||
|
|
||||||
|
These values apply to both picture and video snapshots. If the snapshot dimensions exceed these values |
||||||
|
(both default `Integer.MAX_VALUE`), the snapshot will be scaled down to match the constraints. |
||||||
|
|
||||||
|
This is very useful as it decouples the snapshot size logic from the preview. By using small constraints, |
||||||
|
you can have a pleasant, good looking preview stream, while still capturing fast, low-res snapshots |
||||||
|
with no issues. |
||||||
|
|
||||||
|
### XML Attributes |
||||||
|
|
||||||
|
```xml |
||||||
|
<com.otaliastudios.cameraview.CameraView |
||||||
|
app:cameraSnapshotMaxWidth="500" |
||||||
|
app:cameraSnapshotMaxHeight="500"/> |
||||||
|
``` |
||||||
|
|
||||||
|
### Related APIs |
||||||
|
|
||||||
|
|Method|Description| |
||||||
|
|------|-----------| |
||||||
|
|`setSnapshotMaxWidth(int)`|Sets the max width for snapshots. If out of bounds, the output will be scaled down.| |
||||||
|
|`setSnapshotMaxHeight(int)`|Sets the max height for snapshots. If out of bounds, the output will be scaled down.| |
Loading…
Reference in new issue