在UIImageView中旋转图像代码例子

// 创建UIImage对象
UIImage *image = [UIImage imageNamed:@"sample.png"];

// 创建UIImageView
UIImageView *imageView = [ [ UIImageView alloc ] initWithFrame:CGRectMake(0.0, 0.0, image.size.width, image.size.height) ];
imageView.image = image;
[self addSubview:imageView];

// 旋转
CGAffineTransform rotate = CGAffineTransformMakeRotation( 1.0 / 180.0 * 3.14 );
[imageView setTransform:rotate];

其它

  • CGAffineTransformMakeRotation的参数是 <em>弧度</em>
    而未是渡过
  • CGAffineTransformRotate的参数是时的状态和弧度
  • <code>M_PI</code>是180度,同理<code>M_PI*2.0</code>是360度,<code>M_PI/2.0</code>是90度
  • <code>M_PI</code>代表 <em>顺时针</em>
    转180度,<code>-M_PI</code>代表
    <em>逆时针</em> 转180度

[C/C++]代码

使用CGAffineTransformRotate

会多次转变,每次变更都是上述同等不善的状态(CGAffineTransform
t)进行的转变,所以可以数变通

CGAffineTransformRotate的施用相对来说比CGAffineTransformMakeRotation复杂一些,步骤:

  1. 率先得到UITableView的CGAffineTransform函数:
    CGAffineTransform transform=self.myImageView.transform;
  2. 本着获取之CGAffineTransform函数进行盘,旋转角度为逆时针旋转90度过:
    transform=CGAffineTransformRotate(transform, -M_PI/2.0);
  3. 拿新收获之CGAffineTransform函数赋给ImageView(不自然是ImageView,其它为足以,这里不赘述),即可旋转:
    self.myImageView.transform=transform;

例子:
<code>
//创建openImg,并安装图片
UIImageView *openImg = [[UIImageView alloc]
initWithFrame:CGRectMake(30, 30, 30, 30)];
[openImg setImage:[UIImage imageNamed:@”drop_down1″]];
//创建transform对象
CGAffineTransform transform = openImg.transform;
//顺时针旋转180度
transform=CGAffineTransformRotate(transform, M_PI);
//将新取得的CGAffineTransform函数赋给ImageView
openImg.transform = transform;
</code>

使用CGAffineTransformMakeRotation

只得变更一不良,因为这种办法的变动始终是以极端老的状态值进行转移之,所以不得不变更一蹩脚

例子:
<code>
UIImageView *openImg = [[UIImageView alloc]
initWithFrame:CGRectMake(30, 30, 30, 30)];
[openImg setImage:[UIImage imageNamed:@”drop_down1″]];
openImg.transform = CGAffineTransformMakeRotation(M_PI);
</code>

上面代码简单来说,就是开创一个UIImageView,设置图片,并以自家顺时针旋转180度

使用transform属性

transform我们一般叫形变属性,其庐山真面目是通过矩阵变化改变控件的大小、位置、角度等。这里要讲旋转······

  • 获取CGAffineTransform有强法,例如利用CGAffineTransformMake,事实上iOS为咱准备好了三独道:CGAffineTransformMakeRotation(旋转)、CGAffineTransformMakeScale(缩放)、CGAffineTransformMakeTranslation(移动)
  • 得意忘形遭莫遭之凡这些艺术就能够扭转一蹩脚(也便是不得不设置同样涂鸦),因为这种方式的转始终是因极其原始的状态值进行变更。这时,你可行使:CGAffineTransformRotate(旋转)、CGAffineTransformScale(缩放)、CGAffineTransformTranslate(移动),分别用于在原来的角度、缩放、移动位置的底蕴及做出修改

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图