如何从iOS照片库中获取图像并将其显示在UIWebView中

 阳光ai星星 发布于 2023-02-10 12:48

我已经看过很多UIImage用于输出图像的例子.我想将输出设置为a,UIWebView因为我想在图像周围添加一些额外的HTML格式.

我想让照片库返回存储在iOS设备上的图像的相对路径,这样我就可以将它放在'img'HTML标签的'src'属性中.

这可能吗?


编辑1

我不得不修改我想要的代码,但这似乎不起作用.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    //Get Image URL from Library
    NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL];
    NSString *urlString = [urlPath absoluteString];
    NSLog(urlString);

    NSURL *root = [[NSBundle mainBundle] bundleURL];
    NSString *html;
    html = @""];
    [MemeCanvas loadHTMLString:html baseURL:root];

    [picker dismissViewControllerAnimated:YES completion:^{}];
}

我能够记录资产库URL,但似乎没有显示图像UIWebView.我不知道我需要将baseURL更改为.

任何帮助赞赏.


编辑2

我改变UIImagePickerControllerReferenceURLUIImagePickerControllerMediaURL,现在它崩溃了,因为当我将它附加到字符串时它不喜欢它stringByAppendingString:urlString

它给了我错误:

因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [__ NSCFConstantString stringByAppendingString:]:nil参数'

你知道这可能导致什么吗?

2 个回答
  • 您可以使用UIImagePickerController委托来选择要编辑的图像(或URL).

    你可以这样做:

    let pickerController = UIImagePickerController()
    pickerController.sourceType = .photoLibrary
    pickerController.delegate = self
    self.navigationController?.present(pickerController, animated: true, completion: {
    })
    

    在委托实现中,您可以使用图像的路径或图像本身:

    // This method is called when an image has been chosen from the library or taken from the camera.
    
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {    
       //You can retrieve the actual UIImage
       let image = info[UIImagePickerControllerOriginalImage] as? UIImage
       //Or you can get the image url from AssetsLibrary
       let path = info[UIImagePickerControllerReferenceURL] as? URL
       picker.dismiss(animated: true, completion: nil)
    }
    

    2023-02-10 12:49 回答
  • 斯威夫特4

    class ViewController: UIViewController {
        var pickedImage:UIImage?
    
        @IBAction func ActionChooseImage(sender:UIButton){
            let imagePickerController = UIImagePickerController()
            imagePickerController.sourceType = .photoLibrary
            imagePickerController.delegate = self
            self.present(imagePickerController, animated: true, completion: nil)
        }
    }
    
    extension ViewController: UIImagePickerControllerDelegate,UINavigationControllerDelegate {
        func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
            let image = info[UIImagePickerControllerOriginalImage] as? UIImage
            self.pickedImage = image
    
            picker.dismiss(animated: true, completion: nil)
        }
    }
    

    参考

    2023-02-10 12:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有