2015-05-06 4 views
1

NSString заводится из UIWebView использовал следующий яваскрипта метод:Преобразование базы64 NSString в UIImage?

function() { 
    var img=document.getElementById("myimg"); 
    var canvas = document.createElement("canvas"); 
    var context = canvas.getContext("2d"); 
    canvas.width = img.width; 
    canvas.height = img.height; 
    context.drawImage(img,0,0,img.width,img.height); 
    return canvas.toDataURL("image/png"); 
} 

я получаю данные с точки зрения контроллера, данные выглядят следующим образом:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWcAAAENCAYAAADT16SxAAAAAXNSR0IArs4c6QAAQABJREFUeAHsvVmQZNd55/dl3ty3ytq7qpfqBrrRxMINBAmSosRVImnNaGSLmhnZMQo/eCZinvzkB4cdDj84YuyYGEeM7YeZUHjGDI9CoRlaskc7KXETuIEAsS+NBhq9d+1bVu6bf/9z61ZnV1ejq8FGsxN1LlCdmTfvPfec75zz//7nf75zMmZmff784S3gLfBzWiCIxa3f79Ohwi4Vtxj/3Xh09tndYrHdd96Yjj7pWfs59kpr970x8m67ctvvd/eTvF3PqvKsdJS3/d3rLvb/7GmB0JJ7fuVPegt4C9yJBQaB+U7u89d6C+xlgcReJ/05bwFvgTu3QMSYozt7+2TJ0fX+1Vtg0AIen...... 

Так как я могу преобразовать эти строки в UIImage? Спасибо.

ответ

2

Поместите base64 кодированные данные изображения в NSString удаление первую часть этой строки и расшифровать его с помощью NSData:

NSString *base64Str = [myString substringFromIndex:22]; 
NSData *data = [[NSData alloc]initWithBase64EncodedString:base64Str 
                options:NSDataBase64DecodingIgnoreUnknownCharacters]; 
UIImage* myImg=[UIImage imageWithData:data]; 

(Работает с IOS 7.0 и более поздних версий)

+0

, который работает, спасибо! – leizh00701

+0

Действительно рад помочь! –

+0

С наилучшими пожеланиями @rmaddy, bad copy/paste: D –

Смежные вопросы