1 //
2 //  EXCameraUtils.h
3 //  Exponent
4 //
5 //  Created by Stanisław Chmiela on 23.10.2017.
6 //  Copyright © 2017 650 Industries. All rights reserved.
7 //
8 
9 #import <UIKit/UIKit.h>
10 #import <AVFoundation/AVFoundation.h>
11 #import <CoreMotion/CoreMotion.h>
12 #import <EXCamera/EXCamera.h>
13 
14 @interface EXCameraUtils : NSObject
15 
16 // Camera utilities
17 + (AVCaptureDevice *)deviceWithMediaType:(NSString *)mediaType preferringPosition:(AVCaptureDevicePosition)position;
18 + (UIDeviceOrientation)deviceOrientationForAccelerometerData:(CMAccelerometerData*)accelerometerData defaultOrientation:(UIDeviceOrientation)orientation;
19 
20 // Enum conversions
21 + (float)temperatureForWhiteBalance:(EXCameraWhiteBalance)whiteBalance;
22 + (NSString *)captureSessionPresetForVideoResolution:(EXCameraVideoResolution)resolution;
23 + (AVCaptureVideoOrientation)videoOrientationForDeviceOrientation:(UIDeviceOrientation)orientation;
24 + (AVCaptureVideoOrientation)videoOrientationForInterfaceOrientation:(UIInterfaceOrientation)orientation;
25 + (int)exportImageOrientation:(UIImageOrientation)orientation;
26 + (AVVideoCodecType)videoCodecForType:(EXCameraVideoCodec)videoCodecType;
27 
28 // Image utilities
29 + (nonnull UIImage *)generatePhotoOfSize:(CGSize)size;
30 + (UIImage *)cropImage:(UIImage *)image toRect:(CGRect)rect;
31 + (nonnull NSString *)writeImage:(NSData *)image toPath:(NSString *)path;
32 + (NSMutableDictionary *)updateExifMetadata:(NSDictionary *)metadata withAdditionalData:(NSDictionary *)additionalData;
33 + (NSData *)dataFromImage:(UIImage *)image withMetadata:(NSDictionary *)exif imageQuality:(float)quality;
34 
35 @end
36