2011-08-10 25 views
0

画像を回転して保存すると、サンドボックスに移動しますが、画像の方向にあるサンドボックスは変更されません。どうして?専門家の指導はしてください、ありがとう!サンドボックスに保存されている画像を回転する

次は、回転コードである:ここで

-(void)leftRotate 
{ 
     switch (i%4) 
    { 
     case 0: 
      myImageView.image = [UIImage imageWithCGImage:myImageView.image.CGImage scale:1 orientation:UIImageOrientationUp]; 

      break; 
     case 1: 
      myImageView.image = [UIImage imageWithCGImage:myImageView.image.CGImage scale:1 orientation:UIImageOrientationLeft]; 

      break; 
     case 2: 
      myImageView.image = [UIImage imageWithCGImage:myImageView.image.CGImage scale:1 orientation:UIImageOrientationDown]; 

      break; 
     case 3: 
      myImageView.image = [UIImage imageWithCGImage:myImageView.image.CGImage scale:1 orientation:UIImageOrientationRight]; 

      break; 

     default: 
      break; 
    } 
    ++i; 
} 

は、サンドボックスに画像を保存するためのコードです:

-(void)save:(id)sender 
{ 
    NSDate *date=[NSDate date]; 

    NSLog(@"%@",date); 
    NSCalendar *calendar=[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
    NSInteger unitFlags=NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit; 
    NSDateComponents *component=[calendar components:unitFlags fromDate:date]; 
    int year=[component year]; 
    int month=[component month]; 
    int day=[component day]; 
    int h=[component hour]; 
    int m=[component minute]; 
    int s=[component second]; 
    fileName=[NSString stringWithFormat:@"%d-%d-%d_%d:%d:%d.png",year,month,day,h,m,s]; 
    NSLog(@"%@",fileName); 
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *path=[paths objectAtIndex:0]; 
    NSLog(@"path:%@",path); 
    filePath=[path stringByAppendingPathComponent:fileName]; 
    NSLog(@"filePath:%@",filePath); 
    NSData *data=[NSData dataWithData:UIImagePNGRepresentation(myImageView.image)]; 
    [data writeToFile:filePath atomically:YES];  
} 

答えて

1

PNGファイルがちょうどある回転フラグを(サポートしていません。ファイルのメタデータに保存されている場合、ピクセルは変更されません)。このように回転させるには、画像をJPEGとして保存するか、実際のピクセルデータを回転させる必要があります。

関連する問題