Изображение iPhone, сгенерированное локально с помощью плагина jQuery в UIWebView, необходимо преобразовать в UIImage - PullRequest
1 голос
/ 07 июня 2011

Я генерирую изображение локально в 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>

Изображение генерируется нормально, и я могу показать его в веб-просмотре, но поскольку файл создается локально, я не могу сгенерировать UIImage с URL-адресом обычным способом. Я не очень HTML, JS или JQuery saavy; поэтому я в недоумении, что мне здесь делать. Любая помощь очень ценится. Спасибо!

1 Ответ

2 голосов
/ 29 июля 2011

Вы можете использовать что-то вроде этого для генерации UIImage из вашего UIWebView (где view - это ваш 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 !");
...