将本地图像加载到UIWebView中 [英] load local image into UIWebView

查看:166
本文介绍了将本地图像加载到UIWebView中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想截取屏幕截图,然后将其的本地路径发送到webview,因此它将显示它.我知道webview可以从NSBundle拍摄图像,但是此屏幕截图是动态创建的-我可以通过代码向其中添加一些内容吗?

I want to take a screenshot and then send to webview a local path for it, so it will show it. I know that webview could take images from NSBundle but this screenshots are created dynamically - can I add something to it by code?

我正在这样尝试:

  UIGraphicsBeginImageContext( webView.bounds.size);    
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();    

    NSString *file = @"myfile.png";
    NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];
    NSString *path = [directory stringByAppendingPathComponent: file];
    [UIImagePNGRepresentation(viewImage) writeToFile:path atomically:YES];

    NSString *function = [NSString stringWithFormat:@"loadImagePlease(%@);",path];
    [ ad stringByEvaluatingJavaScriptFromString:function];

但是loadImageFunction无法使用file:///或file://前缀访问它.有什么解决方案? 谢谢你的帮助.

But loadImageFunction can't access it , with file:/// or file:// prefix. What's the solution? Thanks for ANY help.

在代码中添加了缺少的行

added a missing line in code

解决方案:我使用了Cyrille的建议,并使用该库进行编码:

SOLUTION: I used a Cyrille's advice and this library for encoding : http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html

推荐答案

将其转换为 base64数据URI方案并按照您当前的操作通过Javascript发送:

Convert it to a base64 data URI scheme and send that via Javascript as you're currently doing :

someDOMelement.src = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg==)';

someDOMelement.src = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg==)';

这篇关于将本地图像加载到UIWebView中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆