SampleBase 文件对自己的项目进行相关环境配置,详见 TuSDK-for-iOS-demo 。#import <TuSDKGeeV1/TuSDKGeeV1.h> 。开启访问相机权限的方法。self。·不要更改组件的代码顺序。    [TuSDKTSDeviceSettings checkAllowWithController:self.controller 
                                               type:lsqDeviceSettingsCamera
                                          completed:^(lsqDeviceSettingsType type, BOOL openSetting)
     {
         if (openSetting) {
             lsqLError(@"Can not open camera");
             return;
         }
         [self showCameraController];
     }];
[self showCameraController]方法,启动相机。- (void)showCameraController;
{
    // 使用默认主题包的组件需要在组件启动前提前选择主题包的`style`,避免默认主题包组件 UI 显示异常。
    // [TuSDK shared].style = lsqSdkUIDefault;
    TuSDKPFCameraOptions *opt = [TuSDKPFCameraOptions build];
    /* 请在控制器初始化之前进行 option 的相关参数的配置,配置相机的功能,请以 TuSDK 官方 demo 为准 */
    TuSDKPFCameraViewController *controller = opt.viewController;
    controller.delegate = self;
    [self presentModalNavigationController:controller animated:YES];
}
#pragma mark - TuSDKPFCameraDelegate
/**
 *  获取一个拍摄结果
 *
 *  @param controller 默认相机视图控制器
 *  @param result     拍摄结果
 */
- (void)onTuSDKPFCamera:(TuSDKPFCameraViewController *)controller captureResult:(TuSDKResult *)result;
{
    // 如需在相机控制器开启编辑组件,须将该行代码注释
    [controller dismissModalViewControllerAnimated:YES];
    // 拍照完成时,可在此立即开启图片编辑组件,对当前拍摄照片进行编辑。
    // 开启裁切+滤镜组件,需要遵守 TuSDKPFEditTurnAndCutDelegate
    [self openEditAndCutWithController:controller result:result];
    // 开启裁切+滤镜+贴纸编辑组件,需要将组件声明成全局变量
    [self openEditAdvancedWithController:controller result:result];
    // 开启照片美化组件,需要将组件声明成全局变量
    [self openEditMultipleWithController:controller result:result];
    //详细开启编辑组件的方法请参考 demo 中各组件开启方法内的详细代码
}
#pragma mark - TuSDKCPComponentErrorDelegate
/**
 *  获取组件返回错误信息
 *
 *  @param controller 控制器
 *  @param result     返回结果
 *  @param error      异常信息
 */
- (void)onComponent:(TuSDKCPViewController *)controller result:(TuSDKResult *)result error:(NSError *)error;
{
     lsqLDebug(@"onComponent: controller - %@, result - %@, error - %@", controller, result, error);
}
注意:
TuSDKPFCameraDelegate 。
controller.delegate = self;,代码中要实现两个代理方法。TuSDKPFCameraOptions 进行设置,全部参数请阅读相机组件选项配置。- (void)showCameraController;
{
    TuSDKPFCameraOptions *opt = [TuSDKPFCameraOptions build];
    /* 这里是 option 配置功能选项,配置相机的功能 */
    opt.XXXXX = XXXXX;
}
   opt.viewClazz = [TuSDKPFCameraView class];
   opt.configBarViewClazz = [TuSDKPFCameraConfigView class];
   opt.bottomBarViewClazz = [TuSDKPFCameraBottomView class];
   opt.filterViewClazz = [TuSDKPFCameraFilterGroupView class];
   opt.focusTouchViewClazz = [TuSDKCPFocusTouchView class];
   opt.filterBarGroupCellClazz = [TuSDKCPGroupFilterGroupCell class];
   opt.filterBarTableCellClazz = [TuSDKCPGroupFilterItemCell class];
   opt.filterBarCellWidth = 60;
   opt.filterBarHeight = 80;
    opt.cameraPostion = [AVCaptureDevice firstBackCameraPosition];
    opt.cameraPostion = [AVCaptureDevice firstFrontCameraPosition];
    opt.disableMirrorFrontFacing = YES;
    opt.sessionPreset = AVCaptureSessionPresetHigh;
    opt.outputCompress = 0.95f;
    opt.regionViewColor = [UIColor lsqClorWithHex:@"#403e43"];
    opt.outputSize = CGSizeMake(1440, 1920);
   opt.cameraDefaultFlashMode = AVCaptureFlashModeOff;
   opt.cameraDefaultFlashMode = AVCaptureFlashModeOn;
   opt.cameraDefaultFlashMode = AVCaptureFlashModeAuto;
    opt.cameraViewRatio = 0.75f
    // 默认比例
    lsqRatioDefault = lsqRatioOrgin | lsqRatio_1_1 | lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16;
    // 全部比例
    lsqRatioAll = lsqRatioOrgin | lsqRatio_1_1 | lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16 | lsqRatio_3_2 | lsqRatio_4_3 | lsqRatio_16_9;
    // 默认设置
    opt.ratioType = lsqRatioDefault;
    // 自定义设置 (不支持排序)
    opt.ratioType = lsqRatio_9_16 | lsqRatio_3_2 | lsqRatio_4_3 | lsqRatio_16_9;
    opt.displayGuideLine = false;
    opt.enableLongTouchCapture = YES;
    opt.longTouchDelay = 1.2;
    opt.disableContinueFoucs = YES;
    opt.autoFoucsDelay = 5;
   opt.enableFilters = YES;
   opt.showFilterDefault = YES;
   opt.enableFilterHistory = YES;
   opt.enableOnlineFilter = YES;
   opt.displayFilterSubtitles = YES;
注意 : 使用在线滤镜下载到本地的滤镜是分组显示的滤镜,如果设置了 filterGroup ,那么在线滤镜下载的滤镜将会无法显示。    opt.filterGroup = @[@"SkinNature", @"SkinPink", @"SkinJelly", @"SkinNoir", @"SkinRuddy", @"SkinPowder", @"SkinSugar"];
    opt.displayAlbumPoster = YES;
/**
 *  请求从相机界面跳转至相册
 *
 *  @param controller 默认相机视图控制器
 */
- (void)onTuSDKAlbumDemand:(TuSDKPFCameraViewController *)controller;
{
     // 处理相册按钮的点击事件
}
使用 TuSDK 提供的相机执行拍摄动作之后,用户可以通过以下三种不同的方式获得拍摄图片:
获取图片的 image 对象,此方式将不保存图片
获取图片的存储路径,此方式会将图片保存在相册中
将图片保存在临时文件中,并获取临时文件
    opt.saveToAlbum = YES;
    opt.saveToTemp = NO;
    opt.saveToAlbumName = @"TuSdk";
需要设置 TuSDKPFCameraOptions 类的下面几个属性:
    TuSDKPFCameraOptions *opt = [TuSDKPFCameraOptions build];
    // 保存到系统相册 (默认不保存, 当设置为YES时, TuSDKResult.asset)
    opt.saveToAlbum = NO;
    // 保存到临时文件 (默认不保存, 当设置为YES时, TuSDKResult.tmpFile)
    opt.saveToTemp = NO;
该方式将不会保存拍照结果,如需保存须在获得图片之后自行处理。
随后您可以在
- (void)onTuSDKPFCamera:(TuSDKPFCameraViewController *)controller captureResult:(TuSDKResult *)result;
获取图片的 image 对象即 result.image。
需要设置 TuSDKPFCameraOptions 类的下面几个属性:
    TuSDKPFCameraOptions *opt = [TuSDKPFCameraOptions build];
    // 保存到系统相册 (默认不保存, 当设置为YES时, TuSDKResult.asset)
    opt.saveToAlbum = YES;
    // 保存到临时文件 (默认不保存, 当设置为YES时, TuSDKResult.tmpFile)
    opt.saveToTemp = NO;
该方式会将拍摄结果保存在相册中,同时您也可以通过设置
    // 保存到系统相册的相册名称
    opt.saveToAlbumName = @"TuSdk";
将图片保存到名称为 TuSdk 的相册中。
随后可以在
- (void)onTuSDKPFCamera:(TuSDKPFCameraViewController *)controller captureResult:(TuSDKResult *)result;
获取照片的路径。
result.imagePath需要设置 TuSDKPFCameraOptions 类的下面几个属性:
    TuSDKPFCameraOptions *opt = [TuSDKPFCameraOptions build];
    // 保存到系统相册 (默认不保存, 当设置为YES时, TuSDKResult.asset)
    opt.saveToAlbum = NO;
    // 保存到临时文件 (默认不保存, 当设置为YES时, TuSDKResult.tmpFile)
    opt.saveToTemp = YES;
该方式将会把拍摄结果保存在临时文件中,在处理完成之后将会清理原始图片。
随后可以在
- (void)onTuSDKPFCamera:(TuSDKPFCameraViewController *)controller captureResult:(TuSDKResult *)result;
获取临时文件。
                ©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 
浙公网安备33010602001649号