Я создал код для создания UIBezierPath
в контексте UIImage
. Затем возьмите изображение и создайте строку base64. Я считаю, что я должен нарисовать путь в начале и конце UIImage
. Однако через много часов он не работает. Я копирую строку base64 на веб-сайт, чтобы загрузить изображение, чтобы увидеть, работает ли оно. Я пишу это в игровой площадке:Рисование UIBezierPath для UIImage для Base64 Изображение не работает в Swift
import Foundation
import UIKit
UIGraphicsBeginImageContextWithOptions(CGSizeMake(200, 200), false, 0.0)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIColor.blackColor().setStroke()
let path = UIBezierPath()
path.lineWidth = 2
path.moveToPoint(CGPointMake(100, 0))
path.addLineToPoint(CGPointMake(200, 40))
path.addLineToPoint(CGPointMake(160, 140))
path.addLineToPoint(CGPointMake(40, 140))
path.addLineToPoint(CGPointMake(0, 40))
path.closePath()
UIGraphicsEndImageContext();
let data = UIImagePNGRepresentation(image)
let b64 = data?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
print(b64!)
Полученный PNG является 1000x1000 Я предполагаю, что из-за мою сетчатку дисплея. Само изображение полностью прозрачно и ничего не видно. Я использую этот сайт для декодирования base64 и сохранения файла, я пробовал 2 других, чтобы узнать, был ли он сайтом. http://www.motobit.com/util/base64-decoder-encoder.asp
EDIT Я просто попытался следующий код, чтобы увидеть, если вопрос с моим изображением или Безье или сохранения в bas64. Этот код работал отлично. Поэтому я думаю, что это проблема с моим безьером.
import Foundation
import UIKit
let image = UIImage(data: NSData(contentsOfURL: NSURL(string: "http://i.imgur.com/crr4m48.jpg")!)!)!
let data = UIImagePNGRepresentation(image)
let b64 = data?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
print(b64!)
Является ли проблема при создании изображения или преобразовании в Base64? Это две совершенно несвязанные операции. Сохраните данные PNG в файл и посмотрите, можно ли открыть этот файл изображения. Если это так, проблема связана с преобразованием Base64. Кроме того, загрузите какое-то ранее существующее изображение и используйте *, который * в качестве входа в ваш код Base64 - что происходит? – Caleb
@Caleb Я только что протестировал с загрузкой по URL-адресу, и он сработал. Это мой «UIBezierPath» как-то фанк. – Johnston