BDPCropImageView.h 2.04 KB
//
//  BDPClipImageView.h
//  BBAUIKit
//
//  Created by Guo,Zhaozhuo on 2020/11/4.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>


@protocol BDPCropImageViewDelegate <NSObject>

/// 图片剪裁工具,图片开始移动(手势开始操作)回调
/// @param originalFrame 原始图片frame
/// @param area 剪切区域frame
- (void)originalImageBeganMoveWithFrame:(CGRect)originalFrame
                               cropArea:(CGRect)area;

/// 图片剪裁工具,图片结束移动(手势操作结束)回调
/// @param originalFrame 原始图片frame
/// @param area 剪切区域frame
- (void)originalImageEndMoveWithFrame:(CGRect)originalFrame
                             cropArea:(CGRect)area;

/// 图片剪裁工具,完成剪切回调
/// @param freshImage 完成剪切产生的新图片
/// @param originalFrame 原始图片frame
/// @param area 剪切区域frame
- (void)completeCropImage:(UIImage *)freshImage
       originalImageFrame:(CGRect)originalFrame
                 cropArea:(CGRect)area;

@end

@interface BDPCropImageView : UIView

/// 剪切图片工具代理
@property (nonatomic, weak) id<BDPCropImageViewDelegate> delegate;

/// 图片剪裁工具,完成剪切回调
/// @param frame 剪切工具视图整个frame
/// @param originalImage 被剪切的原始图片
/// @param cropAreaFrame 剪切区域frame(相对剪切工具视图)
- (instancetype)initWithFrame:(CGRect)frame
                originalImage:(UIImage *)originalImage
                cropAreaFrame:(CGRect)cropAreaFrame;

/// 执行剪切
/// @return 返回剪切生成的新图片
- (UIImage *)cropImageAction;

/// 设置裁剪区域位置大小
/// @param areaFrame  裁剪区域frame
- (void)setCropAreaFrame:(CGRect)areaFrame;

/// 设置剪裁边框颜色,需要隐藏将其设置为透明
/// @param borderColor  边框颜色
- (void)setCropBorderColor:(UIColor *)borderColor;

/// 设置剪切蒙层颜色,需要半透明效果直接设置半透明颜色
/// @param maskColor 蒙层颜色 颜色
- (void)setCropMaskColor:(UIColor *)maskColor;

@end