이미지 선택기 기능을 사용하여 사진을 찍을 때 이미지 방향을 어떻게 바꿀 수 있습니까? imageView를 회전하려고하지 않습니다. 이미지의 방향을 사용하여 imageView에 거꾸로 표시되도록 찍은 이미지를 원합니다.이미지를 변경하는 방법 imagePicker의 방향 (swift3)
답변
import UIKit
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet var displayImage: UIImageView!
var currentImageView: UIImageView?
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
self.currentImageView?.image = image
self.dismiss(animated: true)
}
@IBAction func takePhoto(_ sender: Any) {
self.currentImageView = self.displayImage
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.camera;
imagePicker.allowsEditing = false
self.present(imagePicker, animated: true, completion: nil)
}}
정말 직접 질문에 대답하기 위해, 당신은 하나는
UIImage
자체를 돌리거나
imageView
을 회전 할 수 있습니다. 여기에서는 이미지를 거꾸로 뒤집을 수있는
UIImage
의 확장으로 구현할 수있는 함수를 작성했습니다. 사용법이 매우 간단합니다. 컨텍스트가 없어도 찾고있는 것이 맞는지는 알 수 없습니다. 또한 품질이 떨어질 수 있습니다.
public func flipped() -> UIImage {
var transform: CGAffineTransform = CGAffineTransform.identity
transform = transform.translatedBy(x: self.size.width, y: self.size.height)
transform = transform.rotated(by: CGFloat(Double.pi))
guard let cgImage = self.cgImage, let colorSpace = cgImage.colorSpace, let context: CGContext = CGContext(data: nil, width: Int(self.size.width), height: Int(self.size.height), bitsPerComponent: cgImage.bitsPerComponent, bytesPerRow: 0, space: colorSpace, bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue) else { return self }
context.concatenate(transform)
context.draw(cgImage, in: CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height))
guard let transformed = context.makeImage() else { return self }
return UIImage(cgImage: transformed)
}
는
UIImage
의 확장에 그것을 넣어, 당신이해야 할 모든은
self.currentImageView?.image = image.flipped()
에
UIImagePicker
대리자 메서드 할당을 변경할 수 있습니다 사용할 수 있습니다.
나는 이것이 가까운 것 같지만 4 개의 에러 메시지를 얻고 있다고 생각한다. 나는 당신에게 오류를 보여주기위한 그림을 추가했다. 도와 주셔서 정말 감사합니다. –
@JasonStone 네, 그 함수를 UIImage의 확장에 넣어야합니다. 새로운 빈 파일을 만들고'UIImage {}'라고 입력하면 중괄호 사이에 그 함수가 붙여 넣어지며 (다른 파일에 넣은 파일을 지우면) 작동해야합니다. – creeperspeak
지금이 이미지는 단지 90도 회전되고 있습니다. 270도까지 어떻게 회전시킬 수 있습니까? –
- 1. Swift3 : UICollectionView에서 이미지를 얻는 방법?
- 2. 방법 swift3
- 3. xib보기 컨트롤러에 이미지를 추가하는 방법 (swift3)
- 4. AVfoundation (swift3)을 사용하여 이미지를 보는 방법
- 5. Xcode8 Swift3 PHP Base64 이미지를 표시하려면 Swift3 코딩이 필요합니다.
- 6. GWT에서 이미지를 변경하는 방법
- 7. GridVIew의 이미지를 변경하는 방법
- 8. 버튼의 이미지를 변경하는 방법
- 9. 배경 이미지를 변경하는 방법?
- 10. ImageView의 이미지를 변경하는 방법
- 11. JButton의 이미지를 변경하는 방법?
- 12. 배경 이미지를 변경하는 방법
- 13. 파이썬에서 이미지를 변경하는 방법
- 14. 업로드 이미지를 변경하는 방법
- 15. 단추의 이미지를 변경하는 방법
- 16. 단추의 이미지를 변경하는 방법
- 17. Google지도에서 방향 경로의 색상을 변경하는 방법 v3
- 18. 동일한 annotationview (swift3)에서 mapkit의 핀 색상을 변경하는 방법
- 19. Swift3
- 20. Swift3
- 21. swift3
- 22. Swift3 :
- 23. swift3
- 24. Swift3
- 25. jquery가있는 hover.jpg로 이미지를 변경하는 방법
- 26. win32에서 배경 이미지를 변경하는 방법?
- 27. 타이머를 사용하여 이미지를 변경하는 방법
- 28. .dll 파일의 이미지를 변경하는 방법
- 29. 다른 개체의 이미지를 변경하는 방법?
- 30. TabHost에서 탭 이미지를 변경하는 방법
currentImageView는 다른 imageViews에 대해 최적의 값입니다. displayImage는 imageView가 1 개뿐이므로 코드를 사용하는 것이 최선의 방법은 아닙니다. 하지만 앞으로는 하나 이상의 imageView를 사용하고 싶습니다. –
이미지를 저장하려고하지 않습니다. 나는 단지 이미지의 방향을 바꾸려고하고있다. 이해에 어려움이있는 부분에 대해 자세히 설명해 주시겠습니까? 감사. –