gpt4 book ai didi

iphone - 在 UIWebView 中显示来自相机的 UIImage

转载 作者:行者123 更新时间:2023-12-03 18:52:44 26 4
gpt4 key购买 nike

在我的 iPhone 应用程序中,我希望用户能够使用相机拍照,然后将该图像显示在 UIWebView 中的一些本地存储的 HTML 中。

所以我从 UIImagePickerController 获得了 UIImage 对象,现在我需要了解如何将它保存到内存中,以便我可以在 >UIWebView.

请注意,我不只是希望 UIWebView 中有自己的图像(我想在某些 HTML 中使用该图片作为背景图像,并在顶部放置其他图像)。我还使用存储在应用程序中的其他图像和 HTML,通过将 UIWebView 的 baseURL 设置为捆绑路径来引用它们,例如:

NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[self.webView loadHTMLString:html baseURL:baseURL];

最佳答案

您绝对可以选择在本地保存文件,获取其绝对路径并使用它。我曾经用于混合应用程序的另一个选项是将 UIImage 转换为 Base64 字符串,并通过 javascript 将其传递到 webview 以执行您想要它执行的任何操作。要在获取 UIImage 后对其进行编码(有各种库可以执行此操作:

UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSString *base64EncodedImage = [Base64 encode:UIImageJPEGRepresentation(image, 0.5)];

然后在您的 HTML 中,您可以使用提供 base64 图像并将其设置为某些 IMG 或背景或您需要的任何内容的方法:

 function cameraCallback(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData;
}

或者

<img src="data:image/gif;base64, [YOUR BASE64 STRING HERE]" alt="" width="80" height="15" />

然后在 webview 的 HTML 中您将使用

[mywebview stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"cameraCallback(%@)", base64EncodedImage]];

关于iphone - 在 UIWebView 中显示来自相机的 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com