Slide 1

Slide 1 text

iOSͰͷ ը૾Ξοϓϩʔυ

Slide 2

Slide 2 text

cockscomb

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

iOSͰͷ ը૾Ξοϓϩʔυ

Slide 5

Slide 5 text

ԿΛ͍·͞Β w J04ͷਐԽʹ൐ͬͯ࠷৽ͷख๏Λ঺հ͍ͨ͠ w ϕετϓϥΫςΟεͰ͢

Slide 6

Slide 6 text

ը૾Ξοϓϩʔυͷखॱ 1IPUP-JCSBSZ͔ΒσʔλΛऔಘ ը૾ͷՃ޻ ਖ਼͍͠޲͖ʹճస ඞཁͳαΠζʹॖখ ద੾ͳܗࣜʹѹॖ Ξοϓϩʔυ

Slide 7

Slide 7 text

σʔλΛऔಘ • UIImagePickerController • UIImagePickerControllerOriginalImage • UIImagePickerControllerEditedImage • AssetsLibrary • Photos

Slide 8

Slide 8 text

σʔλΛऔಘ let asset: PHAsset var originalData: NSData? var type: UTI? var imageOrientation: UIImageOrientation = .Up let options = PHImageRequestOptions() options.synchronous = true options.version = .Current let imageManager = PHImageManager.defaultManager() imageManager.requestImageDataForAsset(asset, options: options) { (imageData, dataUTI, orientation, info) -> Void in originalData = imageData type = UTI(dataUTI) imageOrientation = orientation }

Slide 9

Slide 9 text

ը૾ͷՃ޻ w 6*,JU w $PSF(SBQIJDT w $PSF*NBHF

Slide 10

Slide 10 text

ਖ਼͍͠޲͖ʹճస var image = CIImage(CGImage: originalImage) // See: kCGImagePropertyOrientation var orientationValue: Int32 = 1 switch orientation { case .Up: break case .Down: orientationValue = 3 case .Left: orientationValue = 8 case .Right: orientationValue = 6 ... } image = image.imageByApplyingOrientation(orientationValue)

Slide 11

Slide 11 text

ඞཁͳαΠζʹॖখ var image: CIImage let scale: CGFloat = 0.5 let lanczosResamplingFilter = CIFilter( name: "CILanczosScaleTransform", withInputParameters: [ "inputImage" : image, "inputScale" : scale, ]) image = lanczosResamplingFilter.outputImage

Slide 12

Slide 12 text

ద੾ͳܗࣜʹѹॖ let context = CIContext(options: [:]) let scaledImage = context.createCGImage(image, fromRect: image.extent()) let processedData = NSMutableData() let destination = CGImageDestinationCreateWithData( processedData, type.UTIString, 1, nil) CGImageDestinationAddImage(destination, scaledImage, [ kCGImageDestinationLossyCompressionQuality as String : 0.8, ] as [ String : AnyObject ]) CGImageDestinationFinalize(destination)

Slide 13

Slide 13 text

Ξοϓϩʔυ w ϚϧνύʔτϦΫΤετͱ͔Ͱ w ͦΕͧΕ͕Μ͹Δ

Slide 14

Slide 14 text

ը૾Ξοϓϩʔυͷखॱ 1IPUP-JCSBSZ͔ΒσʔλΛऔಘ ը૾ͷՃ޻ ਖ਼͍͠޲͖ʹճస ඞཁͳαΠζʹॖখ ద੾ͳܗࣜʹѹॖ Ξοϓϩʔυ

Slide 15

Slide 15 text

௥ิ w શମΛNSOperationͷαϒΫϥεͳͲͰ࡞Δͱ Α͍ w $PSF*NBHFΛ࢖͏ͱ͖ɺՄೳͳΒCIContext ͸࢖͍ճ͢ͱΑ͍

Slide 16

Slide 16 text

iOSͰͷ ը૾Ξοϓϩʔυ