Как повернуть UIImage в центре изображения - PullRequest
1 голос
/ 13 августа 2010

double angle = -15;
UIImage *image = [UIImage imageNamed:@"test.jpg"];
CGSize s = {image.size.width, image.size.height};
UIGraphicsBeginImageContext(s);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(ctx, 0,image.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextRotateCTM(ctx, 2*M_PI*angle/360);
CGContextDrawImage(ctx,CGRectMake(0,0,image.size.width, image.size.height),image.CGImage);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Привет, я не хочу вращать UIImage в центре изображения. Я могу вращать UIImage с этим кодом, но не в центральной точке.

Пожалуйста, помогите мне.

Ответы [ 2 ]

2 голосов
/ 13 августа 2010

Использовать базовую анимацию. Вы можете сказать

UIView.layer.anchor = aPoint;

Затем выполните предварительное вращение, используя структуру CA, и это произойдет вокруг этой привязки.

0 голосов
/ 12 апреля 2013

Этот код будет работать, но только с UIImageOrientation = 0,

// Move the origin to the middle of the image so we will rotate and scale around the center.
CGContextTranslateCTM(bitmap, rotatedSize.width/2, rotatedSize.height/2);

//Rotate the image context
CGContextRotateCTM(bitmap, rad(degrees));

// Now, draw the rotated/scaled image into the context
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]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...