如何在圆形路径中旋转图像

时间:2016-04-07 05:59:28

标签: ios objective-c swift core-graphics

我希望在rotate image的圆形路径中coreGraphics(箭头),就像这张图片一样。在圆形路径。

输入图片:

Arrow image

旋转后输出

Rotate arrow in CoreGraphics iOS

3 个答案:

答案 0 :(得分:0)

放三张图片并旋转2& 3图片如下。

imageview2.transform = CGAffineTransformMakeRotation(M_PI/4);

imageview3.transform = CGAffineTransformMakeRotation(M_PI/2);

希望这会对你有帮助......

答案 1 :(得分:0)

尝试UIcollectionview它适用于我的情况。

答案 2 :(得分:0)

这将返回旋转图像

- (UIImage *)rotateImage:(UIImage *)image onDegrees:(float)degrees
{
    CGFloat rads = M_PI * degrees / 180;
    float newSide = MAX([image size].width, [image size].height);
    CGSize size =  CGSizeMake(image.size.width, newSide);
    UIGraphicsBeginImageContext(size);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(ctx, image.size.width, newSide/2);
    CGContextRotateCTM(ctx, rads);
    CGRect r = CGRectMake(0,-[image size].height/2,image.size.width,image. size.height);
    [image drawInRect:r];
    UIImage *i = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return i;
}

    UIImage *arrowRotated180  = [self rotateImage:[UIImage imageNamed:@"arrowImage"] onDegrees:180];

    UIImage *arrowRotated90  = [self rotateImage:[UIImage imageNamed:@"arrowImage"] onDegrees:90];