iOS에서 UIImage를 기반으로 JPG 또는 PNG 이미지 생성

1518 단어
프로젝트에서 UIImage 그림을 JPG 그림으로 저장해야 하는데 iOS에서 이러한 실현 방법을 제공하였다
UIImage *getImage = [UIImage imageWithContentsOfFile:file];
NSData *data;
if (UIImagePNGRepresentation(getImage) == nil){
   data = UIImageJPEGRepresentation(getImage, 1);
} else {
   data = UIImagePNGRepresentation(getImage);
}

그 중에서 UIImageJPEGrepresentation 함수는 두 가지 인자가 필요합니다: 그림의 인용과 압축 계수이며 기본적으로 UIImageJPEGrepresentation이 되돌아오는 데이터 크기도 UIImagePNGrepresentation보다 훨씬 작습니다
첫 번째 이미지 주소로 돌아가려면 이미지를 로컬에 저장한 후 다음 이미지 주소를 출력할 수 있습니다.
// 
-(NSString *)getImagePath:(UIImage *)Image {
    
    NSString * filePath = nil;
    NSData * data = nil;
    
    if (UIImagePNGRepresentation(Image) == nil) {
        data = UIImageJPEGRepresentation(Image, 0.5);
    } else {
        data = UIImagePNGRepresentation(Image);
    }
    
    // 
    // documents 
    NSString * DocumentsPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    
    // 
    NSFileManager *fileManager = [NSFileManager defaultManager];
    
    // data 
    [fileManager createDirectoryAtPath:DocumentsPath withIntermediateDirectories:YES attributes:nil error:nil];
    NSString * ImagePath = [[NSString alloc]initWithFormat:@"/theFirstImage.png"];
    [fileManager createFileAtPath:[DocumentsPath stringByAppendingString:ImagePath] contents:data attributes:nil];
    
    // 
    filePath = [[NSString alloc]initWithFormat:@"%@%@",DocumentsPath,ImagePath];
    
    return filePath;
}

좋은 웹페이지 즐겨찾기