2016-09-06 10 views
1

Я пытаюсь использовать этот метод, чтобы затем загрузить imageData в свою службу, но результирующие объекты imageData не учитывают ориентацию, и я загружаю изображения в неправильной ориентации.PHIMageManager requestImageDataForAsset: options: resultHandler: не принимает во внимание ориентацию

Любые предложения?

ответ

0

Я решить ту же самую проблему с помощью этого п °, чтобы получить оригинальный размер изображения, вы просто должны пройти размер == CGSizeMake (10000000000, 10000000000), надеюсь, что это поможет :)

+ (UIImage *)createThumbFromImageIO:(UIImage*)image maxPixelSize:(CGSize)size 
{ 
    NSData *imagedata = UIImageJPEGRepresentation(image, 1); 
    CGImageSourceRef imageSource = CGImageSourceCreateWithData((__bridge CFDataRef)imagedata, NULL); 

    if (!imageSource) return nil; 

    CGSize imageSize = image.size; 

    imageSize = CGSizeMake(size.width,size.height); 

    CFDictionaryRef options = (__bridge CFDictionaryRef)[NSDictionary dictionaryWithObjectsAndKeys: 
                 (id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailWithTransform, 
                 (id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailFromImageIfAbsent, 
                 (id)[NSNumber numberWithFloat:imageSize.height], (id)kCGImageSourceThumbnailMaxPixelSize, 
                 nil]; 

    CGImageRef imgRef = CGImageSourceCreateThumbnailAtIndex(imageSource, 0, options); 

    image = [UIImage imageWithCGImage:imgRef]; 

    CGImageRelease(imgRef); 

    CFRelease(imageSource); 
    return image; 
}