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