我在UIWebView中本地生成一个图像,我想在生成后将这个图像保存在我的主包中,所以我不必多次执行此操作。我使用以下字符串使用jquery .js source和loadHtmlString命令,其中包含jquery条形码生成器脚本:
<html>
<head>
<SCRIPT LANGUAGE="JavaScript" SRC="jquery-1.3.2.min.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="jquery-barcode-2.0.2.min.js"></script>
</head>
<body>
<div id="bcTarget1"></div>
<script>var a = $("#bcTarget1").barcode("Content", "code128", {barWidth: 1 , barHeight: 60, showHRI: false, "output":"bmp" });</script>
</body>
</html>
图像生成正常,我可以在webview中显示它,但因为文件是在本地生成的,所以我无法以通常的方式生成带有URL的UIImage。我不是非常html,js或jquery saavy;所以我在这里做什么不知所措。任何帮助是极大的赞赏。谢谢!
答案 0 :(得分:2)
您可以使用类似的东西从UIWebView生成UIImage(其中视图是您的UIWebView):
UIGraphicsBeginImageContextWithOptions(view.layer.frame.size, view.opaque, [[UIScreen mainScreen] scale]);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
然后将图像存储在您的包中:
NSString *fileName = @"somefilename";
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent: fileName];
if([UIImagePNGRepresentation(img) writeToFile: filePath atomically:YES])
NSLog(@"image stored !");