共有一个父类uiview,在uiview里面有一个imageview,和一个子uiview,imageview用来进行初始化图片,一个uiview在imageview上面进行剪切,有一些touche事件来使的uiview在imageview范围内,并且设置最小值,最大值为整个imageview的范围,并且实现旋转角度剪切效果。如果旋转,如何保持uiview的范围在imageview上~ 只截取在uiview上的图片, 不管是否旋转角度~,我是初学者~求思路~
调试欢乐多
{
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self];
CGRect rect = CGRectMake(currentPoint.x+3, currentPoint.y+3, v.bounds.size.width, v.bounds.size.height);
v.frame = rect;
v.image = [self createRectImage:pubImg rect:rect];
[v setNeedsDisplay];
}
-(UIImage*) createRectImage:(UIImage*)image rect:(CGRect) rect
{
// the size of CGContextRef CGImageRef imageRef=CGImageCreateWithImageInRect([image CGImage],rect);
UIImage* elementImage=[UIImage imageWithCGImage:imageRef];
return elementImage;
}
把当前的视图作为照片保存到相册中去: #import <QuartzCore/QuartzCore.h> UIGraphicsBeginImageContext(currentView.bounds.size); //currentView 当前的view [currentView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
使UIimageView的图像旋转:
float rotateAngle = M_PI; CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle); imageView.transform = transform;