Capture Settings
This page describes how to set and get various capture settings of connected camera device using RICOH Camera Wireless SDK.
Contents
Supported Capture Settings
- Aperture Value
- Exposure Compensation
- ISO Sensitivity Value
- White Balance
- Shutter Speed
- Custom Image
- Digital Filter
- Still Image Capture Format
- Still Image Quality
- Movie Capture Format
Core Class
The core class of capture settings is:
CaptureSetting
- The
CaptureSetting
class represents various capture settings of camera devices. - Supported capture settings are provided as derived classes of the
CaptureSetting
class.
Basic Usage
All the supported capture settings have corresponding classes derived from the CaptureSetting
class.
This section shows you how to use manage individual capture settings using the classes.
You can also manage multiple capture settings at the same time.
Code examples in this section show how to manage aperture value but you can manage other settings in similar ways.
Get Individual Capture Settings
Follow the steps below to get current value of specified capture setting.
- Generate an object of the class corresponding to the capture setting you want
- Use the
getCaptureSettings
method with the object.
The following example shows how to get current aperture value using FNumber
object
FNumber fNumber = new FNumber();
Response response =
cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)fNumber));
if (response.getResult() == Result.OK) {
System.out.printf("Current Value: %s%n", fNumber.toString());
}
List Available Setting Values
Follow the steps below to get a list of available values for individual capture settings.
- Generate an object of the class corresponding to the capture setting you want
- Use the
getCaptureSettings
method with the object - Use the
getAvailableSettings
method of the object
The following example shows how to get a list of available aperture values using FNumber
object.
FNumber fNumber = new FNumber();
cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)fNumber);
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = fNumber.getAvailableSettings();
for (CaptureSetting setting: availableList) {
System.out.printf("Available Setting: %s%n", setting.toString());
}
}
Set Individual Capture Setting
Follow the steps below to set value of specified capture setting.
- Select a class and its field corresponding to the value you want to set
- Use the
setCaptureSettings
method with the field
The following example shows how to set the aperture value to 5.6 using FNumber
object.
FNumber fNumber = FNumber.F5_6;
Response response =
cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)fNumber));
Get Multiple Capture Settings
The following example shows how to get shutter speed and exposure compensation value at the same time.
ShutterSpeed shutterSpeed = new ShutterSpeed();
ExposureCompensation exposureCompensation = new ExposureCompensation();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList(shutterSpeed, exposureCompensation));
Set Multiple Capture Settings
The following example shows how to set shutter speed and exposure compensation value at the same time.
ShutterSpeed shutterSpeed = ShutterSpeed.SS1_80;
ExposureCompensation exposureCompensation = ExposureCompensation.EC0_3;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList(shutterSpeed, exposureCompensation));
Aperture Value
Use the FNumber
class to set and get aperture values.
Get the Current Value & List Available Values
The following example shows how to get current aperture value using FNumber
object.
Use the getAvailableSettings
method of the FNumber
class to get a list of available aperture values.
FNumber fNumber = new FNumber();
Response response =
cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)fNumber));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = fNumber.getAvailableSettings();
}
Set Value
The following example demonstrates how to set aperture value to 5.6 using FNumber
object.
FNumber fNumber = FNumber.F5_6;
Response response =
cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)fNumber));
Exposure Compensation
Use the ExposureCompensation
class to set and get exposure compensation values.
Get the Current Value & List Available Values
The following example shows how to get current exposure compensation value using ExposureCompensation
object.
Use the getAvailableSettings
method of the ExposureCompensation
class to get a list of available exposure compensation values.
ExposureCompensation exposureCompensation = new ExposureCompensation();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)exposureCompensation));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList =
exposureCompensation.getAvailableSettings();
}
Set Value
The following example demonstrates how to set exposure compensation to +0.3EV using ExposureCompensation
object.
ExposureCompensation exposureCompensation = ExposureCompensation.EC0_3;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)exposureCompensation));
ISO Sensitivity Value
Use the ISO
class to set and get ISO sensitivity values.
Get the Current Value & List Available Values
The following example shows how to get current ISO sensitivity value using ISO
object.
Use the getAvailableSettings
method of the ISO
class to get a list of available ISO sensitivity values.
ISO iso = new ISO();
Response response =
cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)iso));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = iso.getAvailableSettings();
}
Set Value
The following example demonstrates how to set ISO sensitivity value to ISO400 using ISO
object.
ISO iso = ISO.ISO400;
Response response =
cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)iso));
White Balance
Use the WhiteBalance
class to set and get white balance values.
Get the Current Value & List Available Values
The following example shows how to get current white balance value using WhiteBalance
object.
Use the getAvailableSettings
method of the WhiteBalance
class to get a list of available white balance values.
WhiteBalance whiteBalance = new WhiteBalance();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)whiteBalance));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = whiteBalance.getAvailableSettings();
}
Set Value
The following example demonstrates how to set white balance to daylight using WhiteBalance
object.
WhiteBalance whiteBalance = WhiteBalance.DAYLIGHT;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)whiteBalance));
Shutter Speed
Use the ShutterSpeed
class to set and get shutter speed values.
Get the Current Value & List Available Values
The following example shows how to get current shutter speed value using ShutterSpeed
object.
Use the getAvailableSettings
method of the ShutterSpeed
class to get a list of available shutter speed values.
ShutterSpeed shutterSpeed = new ShutterSpeed();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)shutterSpeed));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = shutterSpeed.getAvailableSettings();
}
Set Value
The following example demonstrates how to set shutter speed to 1/80 using ShutterSpeed
object.
ShutterSpeed shutterSpeed = ShutterSpeed.SS1_80;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)shutterSpeed));
Custom Image
Use the CustomImage
class to set and get custom image values.
Get the Current Value & List Available Values
The following example shows how to get current custom image value using CustomImage
object.
Use the getAvailableSettings
method of the CustomImage
class to get a list of available custom image values.
CustomImage customImage = new CustomImage();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)customImage));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = customImage.getAvailableSettings();
}
Set Value
The following example demonstrates how to set custom image to landscape using CustomImage
object.
CustomImage customImage = CustomImage.LANDSCAPE;
Response response =
cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)customImage));
Digital Filter
Use the DigitalFilter
class to set and get digital filter values.
Get the Current Value & List Available Values
The following example shows how to get current digital filter value using DigitalFilter
object.
Use the getAvailableSettings
method of the DigitalFilter
class to get a list of available digital filter values.
DigitalFilter digitalFilter = new DigitalFilter();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)digitalFilter));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList = digitalFilter.getAvailableSettings();
}
Set Value
The following example demonstrates how to set digital filter to toy camera using DigitalFilter
object.
DigitalFilter digitalFilter = DigitalFilter.TOY_CAMERA;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)digitalFilter));
Still Image Capture Format
Use the StillImageCaptureFormat
class to set and get still image capture format values.
Get the Current Value & List Available Values
The following example shows how to get current still image capture format value using StillImageCaptureFormat
object.
Use the getAvailableSettings
method of the StillImageCaptureFormat
class to get a list of available still image capture format values.
StillImageCaptureFormat stillImageCaptureFormat = new StillImageCaptureFormat();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)stillImageCaptureFormat));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList =
stillImageCaptureFormat.getAvailableSettings();
}
Set Value
The following example demonstrates how to set still image capture format to RAW(DNG) using StillImageCaptureFormat
object.
StillImageCaptureFormat stillImageCaptureFormat = StillImageCaptureFormat.DNG;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)stillImageCaptureFormat));
Still Image Quality
Use the StillImageQuality
class to set and get still image quality values.
Get the Current Value & List Available Values
The following example shows how to get current still image quality value using StillImageQuality
object.
Use the getAvailableSettings
method of the StillImageQuality
class to get a list of available still image quality values.
StillImageQuality stillImageQuality = new StillImageQuality();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)stillImageQuality));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList =
stillImageQuality.getAvailableSettings();
}
Set Value
The following example demonstrates how to set still image quality to “Recorded Pixels”:Large and “Quality Level”:Best using StillImageQuality
object.
StillImageQuality stillImageQuality = StillImageQuality.LARGE_BEST;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)stillImageQuality));
Movie Capture Format
Use the MovieCaptureFormat
class to set and get movie capture format values.
Get the Current Value & List Available Values
The following example shows how to get current movie capture format value using MovieCaptureFormat
object.
Use the getAvailableSettings
method of the MovieCaptureFormat
class to get a list of available movie capture format values.
MovieCaptureFormat movieCaptureFormat = new MovieCaptureFormat();
Response response =
cameraDevice.getCaptureSettings(
Arrays.asList((CaptureSetting)movieCaptureFormat));
if (response.getResult() == Result.OK) {
List<CaptureSetting> availableList =
movieCaptureFormat.getAvailableSettings();
}
Set Value
The following example demonstrates how to set movie capture format to “Still Image Size”:FullHD and “Frame Rate”:60i using MovieCaptureFormat
object.
MovieCaptureFormat movieCaptureFormat = MovieCaptureFormat.FULLHD60I;
Response response =
cameraDevice.setCaptureSettings(
Arrays.asList((CaptureSetting)movieCaptureFormat));