Я пытаюсь преобразовать UIImage в строку base64 Цель c - PullRequest
1 голос
/ 30 апреля 2019

Я попробовал решение, указанное здесь , используя:

- (NSString *)encodeToBase64String:(UIImage *)image {
    return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}

Кодированная строка, которую я получаю, отличается от той, которую я могу получить, загрузив изображение в веб-инструмент как .

Просто моя строка отличается от сети и не может декодировать в Интернете изображение.

моя другая реализация -

-(NSString*)base64StringForImage{
    UIImage *originalImage =_image_PreviewImage.image;
    UIGraphicsBeginImageContext(originalImage.size);
    [originalImage drawInRect:CGRectMake(0, 0, 1000, 1000)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
        NSData *imgData=UIImagePNGRepresentation(newImage);
NSString *base64String = [imgData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
    return base64String;
}

И оригинальный, и новый изображения имеют изображения.тестирование уменьшения размеров изображения

с помощью опции

NSDataBase64EncodingEndLineWithLineFeed

для заданной кодированной строки с половиной изображения, как показано ниже

enter image description here

...