Skip to content

S2Ler/SwiftyImageIO

Repository files navigation

SwiftyImageIO

Swift SPM Ready Version License Platform Carthage compatible

Swift wrapper around ImageIO framework.

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Examples

Create image thumbnail

import SwiftyImageIO

let source = ImageSource(data: imageData, options: nil)
let thumbnailCGImage = source?.createThumbnail(maxPixelSize: thumbnailSize)

Write image to disk

import SwiftyImageIO
import MobileCoreServices

if let imageDestination = ImageDestination(url: saveURL, UTI: kUTTypeJPEG, imageCount: 1) {
  imageDestination.addImage(cgImage)
  let imageSaved = imageDestination.finalize()
}

Create GIF from animated UIImage

let gifMaker = GIF()
try gifMaker.makeGIF(fromAnimatedImage: animatedImage,
                     writeTo: savePath,
                     properties: GIF.Properties(loopCount: 1),
                     frameProperties: GIF.FrameProperties(delayTime: 0.1))

Read GPS image properties

let source = ImageSource(url: jpgWithExifImageURL, options: nil)
guard let properties = source?.propertiesForImage() else {
  XCTFail("We created image without properties.");
  return
}
guard let gpsProperties = properties.get(GPSImageProperties.self) else {
  XCTFail("GPS Not available")
  return
}

Test examples

Test Examples

Installation

CocoaPods

pod "SwiftyImageIO"

Swift Package Manager

dependencies: [
    .Package(url: "https://github.com/diejmon/SwiftyImageIO.git", majorVersion: 0, minor: 4)
]

Carthage

github "diejmon/SwiftyImageIO" ~> 0.4

EXIF

The list of exif values can be found in this document

Author

Alexander Belyavskiy, diejmon@gmail.com

License

SwiftyImageIO is available under the MIT license. See the LICENSE file for more info.