UIImage分类调整大小,旋转等
来源:互联网 发布:淘宝退款流程未发货 编辑:程序博客网 时间:2024/06/15 04:32
CGFloat degreesToRadians(CGFloat degrees){ return degrees * M_PI / 180;};@interface UIImage (Rotate)- (UIImage *)imageRotatedByDegrees:(CGFloat)degrees;@end@implementation UIImage (Rotate)- (UIImage *)imageRotatedByDegrees:(CGFloat)degrees{ UIView *rotatedViewBox = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.size.width, self.size.height)]; CGAffineTransform t = CGAffineTransformMakeRotation(degreesToRadians(degrees)); rotatedViewBox.transform = t; CGSize rotatedSize = rotatedViewBox.frame.size; UIGraphicsBeginImageContext(rotatedSize); CGContextRef bitmap = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(bitmap, rotatedSize.width / 2, rotatedSize.height / 2); CGContextRotateCTM(bitmap, degreesToRadians(degrees)); CGContextScaleCTM(bitmap, 1.0, -1.0); CGContextDrawImage(bitmap, CGRectMake(-self.size.width / 2, -self.size.height / 2, self.size.width, self.size.height), [self CGImage]); UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage;}@end
- (UIImage *)resizeImage:(UIImage *)image scaledToSize:(CGSize)newSize{ UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage;}
以下为绘制一个圆形,然后生成一个UIImageView,测试代码:
//start...
CAKeyframeAnimation* animation; animation = [CAKeyframeAnimation animation];CGMutablePathRef path = CGPathCreateMutable();NSLog(@"原点%f, 原点%f",imgview.layer.position.x,imgview.layer.position.y);CGPathMoveToPoint(path, NULL,imgview.layer.position.x,imgview.layer.position.y);int p = (int)[self getblank:tag];NSLog(@"旋转%d, num:%d", p, (int)num);float f = 2.0*M_PI - 2.0*M_PI *p/PHOTONUM;float h = f + 2.0*M_PI *num/PHOTONUM;float centery = self.view.center.y - DY;float centerx = self.view.center.x;float tmpy = centery + RADIUS*cos(h);float tmpx = centerx - RADIUS*sin(h);imgview.center = CGPointMake(tmpx,tmpy); CGPathAddArc(path, nil, self.view.center.x, self.view.center.y - DY, RADIUS, f+ M_PI/2, f+ M_PI/2 + 2.0*M_PI *num/PHOTONUM,0); animation.path = path; //test start UIGraphicsBeginImageContext(self.view.bounds.size); CGContextRef gc = UIGraphicsGetCurrentContext(); CGContextAddPath(gc, path); [[UIColor colorWithRed:(arc4random()%255/255) green:(arc4random()%255/255) blue:(arc4random()%255/255) alpha:1.0] setStroke]; CGContextSetLineWidth(gc, 2); CGContextDrawPath(gc, kCGPathStroke); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageView *imgview2 = [[UIImageView alloc] initWithImage:image]; [self.view addSubview:imgview2]; //test end CGPathRelease(path);//end...
0 0
- UIImage分类调整大小,旋转等
- 调整UIImage的大小
- UIImage调整到指定大小尺寸
- 自动旋转和调整大小
- 自动旋转和调整大小
- UIImage的各种处理(旋转,压缩,写入,读去,计算大小)等和方法的区别的介绍
- UIImage的各种处理(旋转,压缩,写入,读去,计算大小)等和方法的区别的介绍
- iphone有关旋转和自动调整大小
- 自动旋转与自动调整大小
- 重温自动旋转和自动调整大小
- visio调整画布大小和旋转画布
- iOS开发:自动旋转与调整大小
- iOS开发:自动旋转与调整大小
- visio调整画布大小和旋转画布
- iOS开发:自动旋转与调整大小
- iOS屏幕旋转与大小调整
- visio调整画布大小和旋转画布
- Fifth-自动旋转和自动调整大小
- Length of Last Word
- Palindrome Number
- Valid Parentheses
- memcache安装配置
- Valid Sudoku
- UIImage分类调整大小,旋转等
- Add Binary
- Longest Common Prefix
- Count and Say
- ZigZag Conversion
- Valid Palindrome
- Implement strStr()
- String to Integer (atoi)
- Java中的StringBuffer类