я следующая ситуация, я пытаюсь сделать редактор и мне нужно делать масштаб, переводить и вращения для изображения с вокруг центра зренияпреобразования вращения и перевод выпуск
проблема заключается в том, что если я применить перевод после 90 градусов перевести левый перевести сверху и точка привязки не центр зрения после перевода
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
// ImageView
v = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 768, 500)];
[v setBackgroundColor:[UIColor redColor]];
// ImageView's Image
UIImage *img = [UIImage imageNamed:@"_my.jpg"];
[v setImage:img];
v.contentMode = UIViewContentModeScaleAspectFit;
v.layer.anchorPoint = CGPointMake(0.5, 0.5);
[self.view setBackgroundColor:[UIColor clearColor]];
// UiView containing ImageView
vc = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 768, 500)];
[vc addSubview:v];
[self.view addSubview:vc];
}
- (IBAction)Click:(id)sender {
// Translate
if ([sender tag] == 1) {
CGAffineTransform t0 = v.transform;
CGAffineTransform t1 = CGAffineTransformTranslate(t0, 10.0, 0.0);
v.transform = t1;
}
// Rotate
if ([sender tag] == 2) {
CGAffineTransform t0 = v.transform;
CGAffineTransform t1 = CGAffineTransformRotate(t0, DEGREES_TO_RADIANS(10));
v.transform = t1;
}
}
кто-нибудь знает, как я могу держать центр зрения в качестве точки привязки и перевести после вращение для правильной работы?
ТХ
простой способ это удалить перевод, применить вращение, а затем применить перевести обратно http://en.wikipedia.org/wiki/Transformation_(function) – SAKrisT
мне нужно перевести, масштаб и поворот действиям несколько раз любой заказ, цель состоит в том, что пользователь может делать все, что захочет, с изображением, чтобы оно соответствовало ему в области обрезки. –
Хорошо, но в любом случае у него должен быть правильный порядок трансформации, проверьте это http://www.cosc.brocku.ca/ Предложения/3P98/курс/лекции/2d_3d_xforms / – SAKrisT