我正在尝试找到一种方法在用户上传的图片之上创建一个框,以便用户可以裁剪图片以适应 X 裁剪纵横比(该框将具有 X 最小宽度和高度以及定义的纵横比框)。
我能够找到可以使用裁剪框但没有长宽比功能的存储库。因此我想知道是否有人可以指点我一个教程,以便我可以学习如何做到这一点,或者一个可以实现我想要实现的目标的 repo 协议(protocol),以便我可以看到另一个人是如何实现的。
最佳答案
这里有几个挑战,一个是呈现和拖动裁剪控件的 UI,一个更简单的是约束裁剪控件的数学。这是对后者的提示:
@interface CropBox : NSObject
@property (assign, nonatomic) CGRect box;
@property (assign, nonatomic) CGFloat aspect; // set this to 16.0/9.0=1.77 e.g. to get 16:9
- (void)setOrigin:(CGPoint)origin;
- (void)setWidth:(CGFloat)width;
- (void)setHeight:(CGFloat)height;
@end
@implementation CropBox
- (void)setOrigin:(CGPoint)origin {
self.box = CGRectMake(origin.x, origin.y, self.box.width, self.box.height);
}
- (void)setWidth:(CGFloat)width {
CGFloat height = width / self.aspect;
self.box = CGRectMake(self.box.origin.x, self.box.origin.y, width, height);
}
- (void)setHeight:(CGFloat)height {
CGFloat width = height * self.aspect;
self.box = CGRectMake(self.box.origin.x, self.box.origin.y, width, height);
}
@end
关于ios - 如何制作图像可调整大小的裁剪框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17135936/