iOS Swift Convert Image to and from base64 String example

iOS Swift Convert Image to and from base64 String

import UIKit

class ViewController1: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.navigationItem.title = "Main View"
        
        let imageView = UIImageView()
        imageView.frame = CGRect(x: 50, y: 50, width: 200, height: 200)
        imageView.contentMode = .scaleAspectFit
        view.addSubview(imageView)
        
        //Convert image to Base 64 String
        let myImageName = "apple.png"
        let myImage = UIImage(named: myImageName)
        imageView.image = myImage
        let imageStringData = convertImageToBase64(image: myImage!)
        print("IMAGE base64 String: \(imageStringData)")
        
        //Convert Base 64 String back to Image
        let imageView2 = UIImageView()
        imageView2.frame = CGRect(x: 300, y: 50, width: 200, height: 200)
        imageView2.contentMode = .scaleAspectFit
        view.addSubview(imageView2)
        imageView2.image = convertBase64ToImage(imageString: imageStringData)
        
        
    }
    
    func convertImageToBase64(image: UIImage) -> String {
        let imageData = image.pngData()!
        return imageData.base64EncodedString(options: Data.Base64EncodingOptions.lineLength64Characters)
    }
    
    func convertBase64ToImage(imageString: String) -> UIImage {
        let imageData = Data(base64Encoded: imageString,
                             options: Data.Base64DecodingOptions.ignoreUnknownCharacters)!
        return UIImage(data: imageData)!
    }
    
    
}

Base64 String value if the Image

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
gg==

No comments:

Post a Comment

NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.