- (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エンコードしとかないと動かないかも。
0 件のコメント:
コメントを投稿