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