Camera Settings
This page describes how to set and get various camera settings of connected camera device using RICOH Camera USB SDK.
Contents
Supported Camera Settings
Core Class
The core class of camera settings is:
CameraDeviceSetting
- The
CameraDeviceSetting
class represents various camera settings of the connected camera device. - Supported camera settings are provided as derived class of the
CameraDeviceSetting
class.
Date and Time
Use the CameraTime
class to set and get date and time of connected camera.
Get the Current Value
The following example demonstrates how to get the current date and time of connected camera and time_t
value of the same value.
std::unique_ptr<CameraTime> cameraTime(new CameraTime());
cameraDevice->getCameraDeviceSettings(
std::vector<CameraDeviceSetting*>{time.get()});
const CameraTimeValue& cameraTimeValue =
dynamic_cast<const CameraTimeValue&>(cameraTime->getValue());
time_t cameraDateTime = cameraTimeValue.get();
If you want to obtain a time_t
value from the acquired CameraTime
,
use the get
method of CameraTimeValue
,
which stores the actual value in the CameraTime
object.
Set Value
The following example demonstrates how to set camera device’s date and time.
time_t t = time(nullptr);
std::unique_ptr<const CameraTime> cameraTime(new CameraTime(t));
cameraDevice->setCameraDeviceSettings(
std::vector<const CameraDeviceSetting*>{time.get()});
You can use the CameraTime
class and the setCameraDeviceSettings
method to set a specified time_t
value.
Date and time of the camera device can be set by specifying time_t
value for the constructor with arguments.
Live View Specification
Use the LiveViewSpecification
class to get current live view specification.
Get Value
The following example demonstrates how to get live view specification.
std::unique_ptr<LiveViewSpecification> liveViewSpecification(new LiveViewSpecification());
cameraDevice->getCameraDeviceSettings(
std::vector<CameraDeviceSetting*>{liveViewSpecification.get()});
const LiveViewSpecificationValue& liveViewSpecificationValue =
dynamic_cast<const LiveViewSpecificationValue&>(liveViewSpecification->getValue());
const LiveViewImage& liveViewImage = liveViewSpecificationValue.get();
// Image: 720x480,
// FocusArea:
// (0.1, 0.166666), (0.9, 0.166666),
// (0.1, 0.833333), (0.9, 0.833333)
If you want to obtain a LiveViewImage
object
from the acquired LiveViewSpecification
,
use the get
method of
LiveViewSpecificationValue
,
which stores the actual value in the LiveViewSpecification
object.
LiveViewImage
object has height and width size of the live view image and the range where focus position can be specified on the live view image.
focusArea
represents the upper left corner of the live view image as (0.0, 0.0), the upper right as (1.0, 0.0), the lower left as (0.0, 1.0), and the lower right as (1.0, 1.0).
The inside of the area represented by each point included in focusArea
is the position specifiable range.
This information is used by Focus with Specified Position
.