我正在尝试构建一个简单的照片裁剪实用程序,用户可以触摸并选择图片边界。我需要精确的触摸坐标w.r.t图像。
当我使用
时 CGImageRef imageRef = [staticBG.image CGImage];
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:[self view]];
y3=location.y;
x3=location.x;
坐标(x3,y3)以绝对比例显示,对处理imageRef无用。
我尝试使用
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:staticBG];
但坐标仍然不匹配。
请帮忙。
答案 0 :(得分:2)
使用以下代码:)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if ([touch tapCount] == 2) {
//self.imageView.image = nil;
return;
}
CGPoint lastPoint = [touch locationInView:self.YourImageView];
NSLog(@"%f",lastPoint.x);
NSLog(@"%f",lastPoint.y);
}
答案 1 :(得分:0)
我认为我们不需要用户触摸的精确坐标,但要裁剪图像我将:
touchesBegan
和touchesMoved
检测用户触摸。而
用户触摸移动,也移动maskView(更改maskView的
帧)。在这一步中,我们需要确定哪个顶点
maskView最接近用户触及的Point
- leftTop,
rightTop,leftBottom或rightBottom。touchesEnded
上,我们使用maskView的框架crop the image。
在这里,坐标足够精确。请注意,我们需要改变
maskView的图像坐标系框架。希望有所帮助。 :)