- (void)changeImage:(UIImage*)image webview:(UIWebView*)webview imageDomId:(NSString*)domId { NSData *imageData = UIImageJPEGRepresentation(image, 0.8f); // iOS7以上、6以下は何かライブラリ使う NSString *imageBase64 = [imageData base64EncodedStringWithOptions:0]; // encodedに改行が含まれてるとuiwebviewでエラーになるため、取り除く // 上記encodeメソッドで改行が含まれないのであれば不要 imageBase64 = [imageBase64 stringByReplacingOccurrencesOfString:@"\r" withString:@""]; imageBase64 = [imageBase64 stringByReplacingOccurrencesOfString:@"\n" withString:@""]; [webview stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"$('%@').attr('src', 'data:image/jpeg;base64,%@');", domId, imageBase64]; }
jsの変数に入れて使ったりも出来る。その場合は"data:image/[format];base64,[content]"をさらにJSONエンコードしとかないと動かないかも。