IOS-画像ピクチャ回転方向

https://blog.csdn.net/qq_36557133/article/details/85760469

最近のプロジェクトをやっ内のリソースパックの右方向の画像を発見したが、新しいUIマップをカットしたくない、あなたはその方向を変更するには、元の画像を必要とします。

UIImage * backImage = [UIImage imageNamed: "@ 画像名"];

//画像の向き変更
backImage = [UIImage imageWithCGImage:backImage.CGImage
スケール:backImage.scaleの
オリエンテーション:UIImageOrientationDown];
以下は、選択した画像の方向(追加されいくつかの個人的な理解):

UIImageOrientationUp、//デフォルト配向
UIImageOrientationDownは、//デフォルトの向きは非常に180度回転させる
UIImageOrientationLeft、//デフォルトので90度方向反時計回りに回転
デフォルトの向きを90度時計回りに回転させ、UIImageOrientationRightを//
//、デフォルト画像の垂直方向をUIImageOrientationUpMirroredを
//(すなわち、元の垂直左(または右)に対称の鏡面対称軸を投影した原画像のエッジ)
UIImageOrientationDownMirrored、//回転180度のでミラーその
UIImageOrientationLeftMirrored、//そうミラー90が回転反時計回りであること度
UIImageOrientationRightMirroredは、//そうミラー90度時計回りという
----------------
免責事項:この記事は「太陽の近くに星の元記事CSDNブロガーで、CC 4.0 BYに従ってください-SAの著作権契約は、再現し、元のソースのリンクと、この文を添付してください。
オリジナルリンクします。https://blog.csdn.net/qq_36557133/article/details/85760469

回転ボタンでIOSイメージを作成する方法

https://blog.csdn.net/yangjinchao/article/details/51628561

免責事項:この記事は従って、ブロガーオリジナル記事です。 CC 4.0 BY-SAの 著作権契約を、再現し、元のソースのリンクと、この文を添付してください。 
このリンク: https://blog.csdn.net/yangjinchao/article/details/51628561

 

 

 

//

 

 

// JCAllBuyViewController.m

 

  1. //

    // JCAllBuyViewController.m

    // 09-宝くじ - 空のプロジェクト

    //

    // 16-6-2にpanbaによって作成されます。

    //著作権(C)2016年panba。全著作権所有。

    //

     

    #importを "JCAllBuyViewController.h"

    #importを "JCAllCaiZhongButton.h"

     

    @interface JCAllBuyViewController()

    @property(非アトミック、割り当て、ゲッター=いるisOpen)BOOLオープン。

    @終わり

     

    @implementation JCAllBuyViewController

     

    - (instancetype)initWithNibName:(NSStringの*)nibNameOrNilバンドル:(NSBundle *)nibBundleOrNil

    {

        自己= [スーパーinitWithNibName:nibNameOrNilバンドル:nibBundleOrNil];

        {(自己)場合

            //カスタム初期化

        }

        自己を返します。

    }

     

    - (無効)のviewDidLoad

    {

        [スーパーのviewDidLoad];

        //ビューをロードした後、追加の設定を行います。

    // self.title = @「シングルと一緒に買います」。

        //ボタンを追加の1-

        JCAllCaiZhongButton * BTN = [[JCAllCaiZhongButton ALLOC] INIT]。

        btn.frame = CGRectMake(120、0、100、44)。

        [BTNのsetTitle:@ "色のすべての種類の" forState:UIControlStateNormal];

        [BTN setImage:[UIImage imageNamed:@ "YellowDownArrow.png"] forState:UIControlStateNormal];

        [setTitleColor BTN:[UIColor blackColor] forState:UIControlStateNormal]。

        [BTN addTarget:自己アクション:@selector(btnClicked :) forControlEvents:UIControlEventTouchUpInside]。

        [self.navigationController.navigationBar addSubview:BTN]。

    }

     

    //イベント2-小さな三角形の回転を設定します

    - (無効)btnClicked:(UIButton *)titleBtn

    {

        (もし!self.isOpen){

            [UIViewのanimateWithDuration:1つのアニメーション:^ {

                titleBtn.imageView.transform = CGAffineTransformMakeRotation(M_PI)。

            }]。

            self.open = YES;

        }

        他

        {

            [UIViewのanimateWithDuration:1つのアニメーション:^ {

                titleBtn.imageView.transform = CGAffineTransformIdentity。

            }]。

            self.open = NO;

        }

    }

     

     

     

    @終わり

    ----------------

    免責事項:この記事はCSDNブロガーのオリジナルの記事、「Y字型の木Chazi」で、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクと、この文を添付してください。

    オリジナルリンクします。https://blog.csdn.net/yangjinchao/article/details/51628561

iOSのリバースリバースについての写真

http://blog.csdn.net/xyxjn/article/details/37902609

 

方法1

_imageView.transform = CGAffineTransformMakeScale(-1、1)。

短所:サイズやアニメーションを変更するには互換性がありません

 

方法2

 

[にObjC]  ビュー無地 コピー  
 
 シート上のコードCODEを参照してください。私は、コードの一部を導出しました
  1. //  
  2. // GYFlipLayer.h  
  3. // imageFlipDemo  
  4. //  
  5. // 14-7-17に日によって作成されました。  
  6. //著作権(C)2014年日 全著作権所有。  
  7. //  
  8.   
  9. #import <QuartzCore / QuartzCore.h>  
  10.   
  11. @interface GYFlipLayer:CALayerの  
  12.   
  13. - (ID)initWithLayer :( のCALayer *)層。  
  14.   
  15. @終わり  

[にObjC]  ビュー無地 コピー  
 
 シート上のコードCODEを参照してください。私は、コードの一部を導出しました
  1. //  
  2. // GYFlipLayer.m  
  3. // imageFlipDemo  
  4. //  
  5. // 14-7-17に日によって作成されました。  
  6. //著作権(C)2014年日 全著作権所有。  
  7. //  
  8.   
  9. #importを "GYFlipLayer.h"  
  10.   
  11. @interface GYFlipLayer()  
  12.   
  13. @property(強い、  非アトミック)  のCALayer * reflectedLayer。  
  14.   
  15. @終わり  
  16.   
  17.   
  18. @implementation GYFlipLayer  
  19.   
  20. - (ID)initWithLayer :( のCALayer *)aLayer  
  21. {  
  22.     自己= [ スーパー のinit];  
  23.       
  24.     もし(自己)  
  25.     {  
  26.         自己.needsDisplayOnBoundsChange =  YES;  
  27.         自己.contentsScale = aLayer .contentsScale。  
  28.           
  29.         _reflectedLayer = aLayer。  
  30.         自己.nameの= [NSStringの stringWithFormat:@ "reflectionLayer%@"、aLayer .nameの]。  
  31.           
  32.         【自己 udpateFrame]。  
  33.     }  
  34.       
  35.     リターン  自己;  
  36. }  
  37.   
  38. - (ボイド)udpateFrame {  
  39.     CGRectフレーム= _reflectedLayer .bounds。  
  40.     自己.frame =フレームと  
  41. }  
  42.   
  43.   
  44. - (無効)drawInContext:(CGContextRef)CTX  
  45. {  
  46.     CGContextSaveGState(CTX)。  
  47.     CGContextSetInterpolationQuality(CTX、kCGInterpolationNone)。  
  48.     CGContextTranslateCTM(CTX、  自己.reflectedLayer .frame .size .width、  0);  
  49.     CGContextScaleCTM(CTX、 - 1 .F、  1 .F)。  
  50.       
  51.     [ 自己.reflectedLayer  renderInContext:CTX]。  
  52.       
  53.     CGContextRestoreGState(CTX)。  
  54. }  
  55.   
  56. @終わり  

コール

 

 

[にObjC]  ビュー無地 コピー  
 
 シート上のコードCODEを参照してください。私は、コードの一部を導出しました
  1. - (IBAction)flipImage :( ID)、送信者{  
  2.     GYFlipLayer * rLayer = [[GYFlipLayer  のalloc]  initWithLayer:_imageView .layer]。  
  3.     【_imageView .layer  addSublayer:rLayer]。  
  4. }

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/sundaysgarden/p/11948949.html