【问题标题】:IOS Swift Image rotated when loaded into UIImageViewIOS Swift Image加载到UIImageView时旋转
【发布时间】:2016-06-26 22:23:29
【问题描述】:

在我的应用程序中,我有一个按钮,我可以用它来打开画廊,如下所示:

@IBAction func selectPhoto() {
    let photoPicker = UIImagePickerController()
    photoPicker.delegate = self
    photoPicker.sourceType = .PhotoLibrary
    self.presentViewController(photoPicker, animated: true, completion: nil)
}

我让用户选择一张照片并保存:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    photoImageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage        
    let fileName:String = "logo.png"        
    let arrayPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString        
    let pngFileName = arrayPaths.stringByAppendingPathComponent(fileName)                UIImagePNGRepresentation(photoImageView.image!)!.writeToFile(pngFileName, atomically:true)        
    imageSave.setObject(fileName, forKey: "pngFileName")        
    self.dismissViewControllerAnimated(false, completion: nil)
}

然后从视图控制器,每次用户使用以下代码到达场景时都会显示保存的图片。

 override func viewDidLoad() {
    super.viewDidLoad()

    if imageSave.stringForKey("pngFileName") != nil
    {
        let path = NSSearchPathForDirectoriesInDomains(
            .DocumentDirectory, .UserDomainMask, true)[0] as NSString
        let fileName = NSUserDefaults.standardUserDefaults()
            .stringForKey("pngFileName")
        let imagePath = path.stringByAppendingPathComponent(fileName!)
        let image = UIImage(contentsOfFile: imagePath )            
        photoImageView.image = image

    }

问题:当图像加载回 UIImageView 时,图片的方向有时会向右旋转 90 度,有时会向左旋转 90 度,有时会在保存时显示。

请让我知道我在这里做错了什么。任何帮助,将不胜感激。谢谢

【问题讨论】:

标签: ios iphone xcode swift uiimageview


【解决方案1】:

我遇到了同样的问题,因为显示照片的矩形大小不同。您可以做一个技巧并保存复制版本而不是原始图像。这将丢弃旋转问题,这实际上是一个拟合问题。

let imageName = info[UIImagePickerControllerOriginalImage] as! UIImage
let thumb1 = UIImageJPEGRepresentation(imageName, 0.8)
btnImageView.image = UIImage(data: thumb1!)

这只是一个快速而肮脏的答案,但对我有用。 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2018-10-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多