iOS: Публикуване на завъртяно изображение

Създавам приложение за рисуване и бих искал потребителят да може да завърти изображението, преди да публикува в NewsFeedViewController, ако е начертал изображението си в пейзаж. В момента мога да завъртя изображението, но когато публикувам в NewsFeedViewController, то се връща към първоначалното завъртане.

Имам работещ бутон IBAction, който завърта изображението на 90 градуса:

@IBAction func rotateImageButton(_ sender: Any) {
    photo.transform = photo.transform.rotated(by: CGFloat(M_PI_2))
}

Нещата, върху които съм заседнал, е как да актуализирам това завъртане, когато качвам изображението във Firebase и след това изтеглям завъртяното изображение надолу от базата данни към NewsFeedViewController на приложението. Това е моят код за публикуване на изображението atm:

 @IBAction func shareButton_TouchUpInside(_ sender: Any) {
    view.endEditing(true)
    SVProgressHUD.show(withStatus: "Waiting...")

    if let profileImg = self.selectedImage, let imageData = UIImageJPEGRepresentation(profileImg, 0.1){
        HelperService.uploadDataToServer(data: imageData, caption: captionTextView.text!, onSuccess:{
            self.clean()
        })
    } else {
        SVProgressHUD.showError(withStatus: ("Post image can't be empty"))

    }

    // tabBar is indexed where home - 0 , discover is 1 etc.
    self.tabBarController?.selectedIndex = 0
    self.tabBarController?.tabBar.isHidden = false
    self.dismiss(animated: true, completion: nil)

    }

person Tessa    schedule 22.05.2018    source източник


Отговори (1)


С промяната на transform вие само завъртате начина, по който изображението се показва на екрана. transform определя къде трябва да завършат пикселите от незавъртяното ви изображение на екрана.

Вместо това трябва да завъртите действителните пиксели на изображението.

Тук ще намерите няколко начина да направите това.

person meaning-matters    schedule 22.05.2018