图像缩放、滚动视图、裁剪

Posted

技术标签:

【中文标题】图像缩放、滚动视图、裁剪【英文标题】:image zoom, scroll view, crop 【发布时间】:2012-06-26 10:17:39 【问题描述】:

我只是通过将 imageView 放在 ScrollView 上来缩放图片。我想裁剪显示在 imageView 中的图像部分(缩放后)并保存为新图像。

谢谢

代码在这里

CGRect frame = CGRectMake(0,0,190,210);

scroll = [[UIScrollView alloc] initWithFrame:frame];

scroll.contentSize = CGSizeMake(240, 260);

scroll.showsHorizontalScrollIndicator = YES;

scroll.showsVerticalScrollIndicator = YES;  

[scroll addSubview:imageView];

而滚动视图委托方法是

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView    
    return self.imageView;    

【问题讨论】:

见下面的链接。 ***.com/questions/1971542/… 【参考方案1】:
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
// get touch event
UITouch *touch = [[event allTouches] anyObject];
StartPoint = [touch locationInView:touch.view];



 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
// get touch event
UITouch *touch = [[event allTouches] anyObject];
EndPoint = [touch locationInView:touch.view];
[self finishedTouchInside];



 -(void)finishedTouchInside

CGFloat width=EndPoint.x-StartPoint.x;
CGFloat hieght=EndPoint.y-StartPoint.y;
CGRect myImageRect = CGRectMake(StartPoint.x, StartPoint.y, width, hieght);
Img_Screen= [[UIImageView alloc] initWithFrame:myImageRect];

CGImageRef imageRef = CGImageCreateWithImageInRect([imgView.image CGImage], myImageRect);
// or use the UIImage wherever you like
UIImage *newImage =[UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);

 

这可能有助于您裁剪图像。

【讨论】:

以上是关于图像缩放、滚动视图、裁剪的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 中使用缩放图像翻转滚动视图

在可缩放的滚动视图中禁用图像视图缩放

Xcode:在滚动视图中缩放图像

IOS:在滚动视图中添加图像视图以进行缩放

我有一个滚动视图缩放错误的图像视图的问题

如何在 iOS 的分页滚动视图中缩放图像?