在UIWebView中使用jQuery插件在本地生成的iPhone图像,需要转换为UIImage

时间:2011-06-07 15:00:04

标签: iphone uiwebview uiimage

我在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;所以我在这里做什么不知所措。任何帮助是极大的赞赏。谢谢!

1 个答案:

答案 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 !");