DCECameraView
DCECameraView
is the class that enables users to add elements on camera view conveniently.
@interface DCECameraView: UIView<CALayerDelegate>
Method/Property Name | Description |
---|---|
initWithFrame |
Init the DCECameraView . |
cameraWithFrame |
Init the DCECameraView with a static method. |
overlayVisible |
The property stores the BOOL value that controls the visibility of the overlays. |
setOverlayColour |
Set the stroke and fill in colour of the overlay(s). |
viewfinderVisible |
The property stores the BOOL value that controls the visibility of the viewfinder. |
setViewfinder |
Set the attribute of the viewfinder. Currently only available for position and size setting. |
setTorchButton |
Set the position, size and image of the torch button. |
torchButtonVisible |
The property controls the visibility of the torch Button. |
getVisibleRegionOfVideo |
Get the region of video that is visible on the camera. It help you to set the scan region when the shape of DCECameraView is quite different from the video streaming. |
initWithFrame
Init the DCECameraView.
- (instancetype)initWithFrame:(CGRect)frame;
Code Snippet
- Objective-C
- Swift
_dceView = [[DCECameraView alloc] initWithFrame:self.view.bounds]
let dceView = DCECameraView.init(frame self.view.bounds)
cameraWithFrame
Statically init the DCECameraView.
+ (instancetype)cameraWithFrame:(CGRect)frame NS_SWIFT_NAME(init(frame:));
Code Snippet
- Objective-C
- Swift
_dceView = [DCECameraView cameraWithFrame:self.view.bounds];
let dceView = DCECameraView.init(frame self.view.bounds)
overlayVisible
The property stores the BOOL value that controls the visibility of the overlays.
@property (assign, nonatomic) BOOL overlayVisible;
Remarks
If the property value is true
, the cameraView
will try to draw and display overlays on the interest areas. Otherwise, the cameraView
will not draw overlays.
Code Snippet
- Objective-C
- Swift
[_dceView setOverlayVisible:true];
dceView.overlayVisible = true
setOverlayColour
Set the stroke and fill in colour of the overlay(s).
- (void)setOverlayColour:(UIColor*)stroke fill:(UIColor*)fill;
Parameters
stroke
: The stroke colour of the overlay.
fill
: The fill in colour of the overlay.
Code Snippet
- Objective-C
- Swift
// RGB 0 ~ 255, alpha 0 ~ 1 UIColor* strokeColor = [UIColor colorWithRed:0 green:245 blue:255 alpha:0.5]; UIColor* fillColor = [UIColor colorWithRed:0 green:245 blue:255 alpha:0.5]; [_dceView setOverlayColour:strokeColor fill:fillColor];
// RGB 0 ~ 255, alpha 0 ~ 1 let strokeColour = UIColor(red: 0, green: 245, blue: 255, alpha: 0.5) let fillColour = UIColor(red: 0, green: 245, blue: 255, alpha: 0.5) _dceView.setOverlayColour(strokeColour, fill: fillcolour)
viewfinderVisible
The property stores the BOOL value that controls the visibility of the viewfinder.
@property (assign, nonatomic) BOOL viewfinderVisible;
Remarks
If the property value is true
, the cameraView
will try to create and display a viewfinder. Otherwise, the cameraView
will not create the viewfinder.
setViewfinder
Set the attribute of the viewfinder. Currently only available for position and size setting.
- (void)setViewfinder:(CGFloat)left top:(CGFloat)top right:(CGFloat)right bottom:(CGFloat)bottom;
Parameters
left
: The distance (by percentage) between the left border of the viewfinder and the left side of the screen. The default value is 0.15.
top
: The distance (by percentage) between the top border of the viewfinder and the top side of the screen. The default value is 0.3.
right
: The distance (by percentage) between the right border of the viewfinder and the left side of the screen. The default value is 0.85.
bottom
: The distance (by percentage) between the bottom border of the viewfinder and the top side of the screen. The default value is 0.7.
Code Snippet
- Objective-C
- Swift
[_dceView setViewfinder:0.1 top: 0.3 right: 0.9 bottom: 0.7];
_dceView.setViewfinder(0.1, top: 0.3, right: 0.9, bottom: 0.7)
Remarks
The viewfinder is built based on the screen coordinate system. The origin of the coordinate is the left-top point of the mobile device. The left border
of the viewfinder always means the closest border that parallels to the left side of the mobile device no matter how the mobile device is rotated.
setTorchButton
Set the position, size and image for the torch button.
- (void)setTorchButton:(CGRect)torchButton torchOnImage:(UIImage*)torchOnImage torchOffImage:(UIImage*)torchOffImage;
Parameters
frame
: The frame of torch button. It includes the width, height and top-left corner coordinate of the torch button. You can input a nil value to apply no changes on the frame of button.
torchOnImage
: Display this image when the torch is on. You can input a null value to apply no changes to the image of the torch button when the torch is on.
torchOffImage
: Display this image when the torch is off. You can input a null value to apply no changes to the image of the torch button when the torch is off.
Code Snippet
- Objective-C
- Swift
CGRect rect = {0, 0, 30, 30}; [_dceView setTorchButton:(rect) torchOnImage: image torchOffImage: image];
_dceView.setTorchButton(CGRect.init(x: 0, y: 0, width: 500, height: 500), torchOnImage: image, torchOffImage:image)
Remarks
Method - (void)setTorchButton:(CGPoint)torchButtonPosition
is deprecated. Please use the new setTorchButton
method.
torchButtonVisible
torchButtonVisible
is a property that controls the visibility of the torchButton
. The torch button icon is preset in the SDK. If the torchButtonPosition
has never been configured, the torchButton
will be displayed on the default position. Currently, the icon and the size of the button are not available for setting.
@property (assign, nonatomic) BOOL torchVisible;
Parameters
When the property value is true, the torch button should be displayed. Otherwise, the torch button should be hidden.
getVisibleRegionOfVideo
Get the visible region of the video streaming.
When the shape of your camera view is quite different from the shape of the video streaming, there might exist a large area that is invisible. You can use this method to get the region of this invisible area.
What's Visible Region
- (iRegionDefinition*) getVisibleRegionOfVideo;
Return Value
An object of iRegionDefinition
. You can use this iRegionDefinition
object to set the scan region.
Code Snippet
- Objective-C
- Swift
iRegionDefinition *region = [_dceView getVisibleRegionOfVideo]; [_dce setScanRegion:region error:nil];
let region = dceView.getVisibleRegionOfVideo() dce.setScanRegion(region, error: &error)