Arrays Swift中的UIImage到字符串和字符串到UIImage
我将用户和照片用户的姓名添加到Arrays Swift中的UIImage到字符串和字符串到UIImage,arrays,swift,uiimage,base64,nsuserdefaults,Arrays,Swift,Uiimage,Base64,Nsuserdefaults,我将用户和照片用户的姓名添加到UserDefaults数组中,然后将此数组发送到我的站点并将此数组插入另一个ViewController 要保存的代码: let imageSaveData = UIImageJPEGRepresentation(self.profileUserPhotoImage.image!, 1.0) as NSData? let base64String = imageSaveData?.base64EncodedString() let userNa
UserDefaults
数组中,然后将此数组发送到我的站点并将此数组插入另一个ViewController
要保存的代码:
let imageSaveData = UIImageJPEGRepresentation(self.profileUserPhotoImage.image!, 1.0) as NSData?
let base64String = imageSaveData?.base64EncodedString()
let userNameAdnPhoto = ["name": self.userNameLabel.text, "image": base64String] as? [String: String]
var userArrayToUDef = UserDefaults.standard.array(forKey: "userInfo") as? [[String: String]]
在另一个
ViewController
中,我不知道如何从UserDefaults.standard.array(forKey:“userInfo”)
图像到ViewController中的UIImageView
字符串图像转换成UIImage
字符串到UIImage
yourString.toImage() // it will convert String to UIImage
extension String {
func toImage() -> UIImage? {
if let data = Data(base64Encoded: self, options: .ignoreUnknownCharacters){
return UIImage(data: data)
}
return nil
}
}
将UIImage转换为字符串,然后使用
ui图像到字符串
yourImage.toPngString() // it will convert UIImage to string
extension UIImage {
func toPngString() -> String? {
let data = self.pngData()
return data?.base64EncodedString(options: .endLineWithLineFeed)
}
func toJpegString(compressionQuality cq: CGFloat) -> String? {
let data = self.jpegData(compressionQuality: cq)
return data?.base64EncodedString(options: .endLineWithLineFeed)
}
}
此函数仅用于将字符串转换为UIImage
extension String {
func stringToImage(_ handler: @escaping ((UIImage?)->())) {
if let url = URL(string: self) {
URLSession.shared.dataTask(with: url) { (data, response, error) in
if let data = data {
let image = UIImage(data: data)
handler(image)
}
}.resume()
}
}
}
将此函数用作
yourString.stringToImage {(image) in
self.yourPhoto.image = image
}
如今,“UIImagePngResentation”方法更新为“pngData()”方法
如果要将UIImage转换为字符串,可以使用以下行:
extension UIImage {
func toString() -> String? {
let pngData = self.pngData()
//let jpegData = self.jpegData(compressionQuality: 0.75)
return pngData?.base64EncodedString(options: .lineLength64Characters)
}
}
这是来自swift游乐场形状:
extension String {
/// Returns a SPCScene.Image from a string. Use to generate an image, based on an emoji string.
func image() -> UIImage {
let size = CGSize(width: 80, height: 80)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
UIColor.clear.set()
let rect = CGRect(origin: .zero, size: size)
UIRectFill(CGRect(origin: .zero, size: size))
(self as AnyObject).draw(in: rect, withAttributes: [.font: UIFont.systemFont(ofSize: 70)])
if let image = UIGraphicsGetImageFromCurrentImageContext() {
UIGraphicsEndImageContext()
return image
} else {
return UIImage()
}
}
}
它在另一个ViewController中100%工作,我有@IBOutlet弱var userPhotoImage:UIImageView代码>我做对了吗userPhotoImage.image=toImage?此代码将uiimage转换为字符串,并将字符串转换为UIimagefrist,这是在转换为uiimage后,在userdefault中所有get字符串中的第一个