iOS-image图片旋转方向
https://blog.csdn.net/qq_36557133/article/details/85760469
最近在做项目的时候发现资源包内的图片的方向不对,但也不想让UI切一个新图,所以需要将原有的图片改变其方向。
UIImage *backImage = [UIImage imageNamed:@"图片名字"];
//改变该图片的方向
backImage = [UIImage imageWithCGImage:backImage.CGImage
scale:backImage.scale
orientation:UIImageOrientationDown];
以下是图片方向的选择(添加了一些个人理解):
UIImageOrientationUp, // 默认方向
UIImageOrientationDown, // 让默认方向旋转180度
UIImageOrientationLeft, // 让默认方向逆时针旋转90度
UIImageOrientationRight, // 让默认方向顺时针旋转90度
UIImageOrientationUpMirrored, // 默认方向的竖线镜像
//(即以原图的左(或右)边的竖线为对称轴,对原图进行对称投影得到的镜像)
UIImageOrientationDownMirrored, // 让镜像旋转180度
UIImageOrientationLeftMirrored, // 让镜像逆时针旋转90度
UIImageOrientationRightMirrored, // 让镜像顺时针旋转90度
————————————————
版权声明:本文为CSDN博主「靠近星星的太阳」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36557133/article/details/85760469
IOS 如何让button内的image旋转
https://blog.csdn.net/yangjinchao/article/details/51628561
//
//
// JCAllBuyViewController.m
// 09-彩票-空工程
//
// Created by panba on 16-6-2.
// Copyright (c) 2016年 panba. All rights reserved.
//
#import "JCAllBuyViewController.h"
#import "JCAllCaiZhongButton.h"
@interface JCAllBuyViewController ()
@property (nonatomic,assign,getter=isOpen) BOOL open;
@end
@implementation JCAllBuyViewController
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
// self.title = @"合买跟单";
//1-添加一个button
JCAllCaiZhongButton *btn = [[JCAllCaiZhongButton alloc]init];
btn.frame = CGRectMake(120, 0, 100, 44);
[btn setTitle:@"全部彩种" forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamed:@"YellowDownArrow.png"] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.navigationController.navigationBar addSubview:btn];
}
//2-设置小三角旋转的事件
-(void)btnClicked:(UIButton *)titleBtn
{
if (!self.isOpen) {
[UIView animateWithDuration:1 animations:^{
titleBtn.imageView.transform = CGAffineTransformMakeRotation(M_PI);
}];
self.open = YES;
}
else
{
[UIView animateWithDuration:1 animations:^{
titleBtn.imageView.transform = CGAffineTransformIdentity;
}];
self.open = NO;
}
}
@end
————————————————
版权声明:本文为CSDN博主「Y型树杈子」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangjinchao/article/details/51628561
http://blog.csdn.net/xyxjn/article/details/37902609
方法1
_imageView.transform = CGAffineTransformMakeScale(-1, 1);
弊端:和大小变化等动画不兼容
方法2
- //
- // GYFlipLayer.h
- // imageFlipDemo
- //
- // Created by sun on 14-7-17.
- // Copyright (c) 2014年 sun. All rights reserved.
- //
- #import <QuartzCore/QuartzCore.h>
- @interface GYFlipLayer : CALayer
- - (id)initWithLayer:(CALayer *)layer;
- @end
- //
- // GYFlipLayer.m
- // imageFlipDemo
- //
- // Created by sun on 14-7-17.
- // Copyright (c) 2014年 sun. All rights reserved.
- //
- #import "GYFlipLayer.h"
- @interface GYFlipLayer()
- @property (strong, nonatomic) CALayer *reflectedLayer;
- @end
- @implementation GYFlipLayer
- - (id)initWithLayer:(CALayer *)aLayer
- {
- self = [super init];
- if (self)
- {
- self.needsDisplayOnBoundsChange = YES;
- self.contentsScale = aLayer.contentsScale;
- _reflectedLayer = aLayer;
- self.name = [NSString stringWithFormat:@"reflectionLayer%@", aLayer.name];
- [self udpateFrame];
- }
- return self;
- }
- - (void)udpateFrame {
- CGRect frame = _reflectedLayer.bounds;
- self.frame = frame;
- }
- - (void)drawInContext:(CGContextRef)ctx
- {
- CGContextSaveGState(ctx);
- CGContextSetInterpolationQuality(ctx, kCGInterpolationNone);
- CGContextTranslateCTM(ctx, self.reflectedLayer.frame.size.width, 0);
- CGContextScaleCTM(ctx, -1.f, 1.f);
- [self.reflectedLayer renderInContext:ctx];
- CGContextRestoreGState(ctx);
- }
- @end
调用
- - (IBAction)flipImage:(id)sender {
- GYFlipLayer *rLayer = [[GYFlipLayer alloc] initWithLayer:_imageView.layer];
- [_imageView.layer addSublayer:rLayer];
- }
iOS-image图片旋转方向的更多相关文章
- iOS拍照图片旋转的问题
很久之前,遇到了这种情况,iOS某端拍照上传到服务器,其他iOS端从服务器下载该照片展示,发现图片逆时针旋转了90度.当时百度了一下,找到一段代码修正image方向,问题解决了,但没有深入理解底层原理 ...
- ios中图片旋转
@interface ViewController () { UIImageView *_imageview; BOOL flag; } @end @implementation ViewContro ...
- ios手机竖屏拍照图片旋转90°问题解决方法
手机拍照会给图片添加一个Orientaion信息(即拍照方向),如下: 用ios手机拍照,系统会给图片加上一个方向的属性, ios相机默认的拍照方向是后摄Home键在右为正,前摄Home键在左为正. ...
- 【iOS】屏幕旋转,屏幕自适应方向变化
1. iOS有四个方向的旋转,为了保证自己的代码能够支持旋转,我们必须首先处理一个函数: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInter ...
- iOS 图片旋转方法
iOS 图片旋转方法 通过 CGImage 或 CIImage 旋转特定角度 UIImage可通过CGImage或CIImage初始化,初始化方法分别为init(cgImage: CGImage, s ...
- iOS开发 CGAffineTransform 让图片旋转, 旋转后获得图片旋转的角度
1.让图片旋转 UIImageView *imageView = [[UIImageView alloc]init]; imageView.frame = CGRectMake(50, 50, 200 ...
- (转)如何处理iOS中照片的方向
如何处理iOS中照片的方向 31 May 2015 • 7 min. read • Comments 使用过iPhone或者iPad的朋友在拍照时不知是否遇到过这样的问题,将设备中的照片导出到Wind ...
- js获取图片的EXIF,解决图片旋转问题
相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转.当时的你肯定时懵逼的,为毛. 其实这就是图片的EXIF搞的鬼. 什么是EXIF 简单来说,Exif 信息就是由数 ...
- 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向
http://www.xuanyusong.com/archives/2871 如下图所示,在处理屏幕默认旋转方向的时候可以在这里进行选择,上下左右一共是4个方向. 策划的需求是游戏采用横屏,但是要求 ...
随机推荐
- 小匠_碣 第三周期打卡 Task06~Task08
Task06:批量归一化和残差网络:凸优化:梯度下降 批量归一化和残差网络 对输入的标准化(浅层模型) 处理后的任意一个特征在数据集中所有样本上的均值为0.标准差为1. 标准化处理输入数据使各个特征的 ...
- c#中转义字符\n和\r的区别
在c#中\n代表换行,\r代表回车,但\r是把后面的字符覆盖前面的,例: "1234\n567" 输出的是 1234 567 "1234\r567"输出的是 5 ...
- MySQL判断数据是否为空
IFNULL(expr1,expr2)函数,这个函数只能判断是否为空 SELECT CONCAT(first_name,',',last_name,',',job_id,IFNULL(commissi ...
- C++-HDU1166-敌兵布阵[数据结构][树状数组]
单点修改+区间查询=树状数组 空间复杂度O(n) 时间复杂度O(mlogn) #include <set> #include <map> #include <cmath& ...
- 1.5 面试问题整理:cl
1.自我介绍2.介绍测试的项目> 期望答案:让你介绍项目,目的是想知道你参与过该项目后,对该项目的认识程度和认识层次,从而判断你在项目中到底起多大作用. 即:测试的流程.用例设计的方法.在项目中 ...
- 用python制作多份试卷防止作弊(随机排列题目顺序和答案顺序,提供参考答案)
#! /usr/bin/python# randomQuizeGenerator.py - Creates quizzes with questions and answers in # ra ...
- 安装pecl
$ wget http://pear.php.net/go-pear.phar $ php go-pear.phar //php版本 < 7 $ yum install php-pear // ...
- night of 2019.8.14
饭后一个小时,坐下来看了一会书,是原来的同事推荐的. 最近一段时间,心一点一点平静.能平下心来去做一些事.偶尔也常常对着窗户发呆,想一些人生感悟.想到一些感悟时,常常感到没有人可以说说心里话. 丰子恺 ...
- 解决mailx发邮件报错:esmtp-server: 504 5.7.4 Unrecognized authentication type [HK2PR02CA0167.apcprd02.prod.outlook.com] "/root/dead.letter" 11/302 . . . message not sent.
报错信息: esmtp-server: 504 5.7.4 Unrecognized authentication type [HK2PR02CA0167.apcprd02.prod.outlook. ...
- grep Or And 操作
grep or 操作符 使用 \| 如果不使用grep命令的任何选项,可以通过使用 '|' 来分割多个pattern,以此实现OR的操作. grep 'pattern1\|pattern2' file ...