回転して拡大やら-CGAffineTransformMakeRotationしてCGAffineTransformMakeScaleするには?

アファイン変換なんて高校時代にやったっきりで
全部計算してなんて出来ませんよ
そこで CGAffineTransformConcat すれば良いという話

UIImage *img;
img = [UIImage imageNamed:@"00.png"];

CGAffineTransform rotTransform;
CGAffineTransform scaleTransform;
CGAffineTransform transform;

mainScreen.image = img;
rotTransform = CGAffineTransformMakeRotation(M_PI * -1.0);
scaleTransform = CGAffineTransformMakeScale(10.0, 10.0);
transform = CGAffineTransformConcat(rotTransform, scaleTransform);
mainScreen.transform = transform;

[UIView setAnimationDuration:2.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView beginAnimations:@"RotAndScale" context:nil];

rotTransform = CGAffineTransformMakeRotation(0);
scaleTransform = CGAffineTransformMakeScale(1.0, 1.0);
transform = CGAffineTransformConcat(rotTransform, scaleTransform);
mainScreen.transform = transform;

[UIView commitAnimations];

※追記:setAnimationCurveって便利っす
[PR]
by taff2005 | 2009-08-02 04:17 | 小ネタ
<< プログラマにも出来る-画像に影... いがわゆり蚊のチェンバル語講座 >>