SwiftyImage 1.2.0

SwiftyImage 1.2.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Aug 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Suyeol Jeon.


Downloads

Total20,080
Week1,298
Month4,550

Installs

Apps339
Apps WeekApps This Week 59
Pod Tries1
Test Targets43
Test WeekTests This week 8
powered by Segment

GitHub

Stars698
Watchers14
Forks29
Issues1
Contributors2
Pull Requests0

Code

Files1
LOCLines of Code 372


  • By
  • Suyeol Jeon

SwiftyImage

The most sexy way to use images in Swift.

Features

At a Glance

Creating Images
UIImage.size(width: 100, height: 100)
  .color(.white)
  .border(color: .red)
  .border(width: 10)
  .corner(radius: 20)
  .image

sample1

UIImage.resizable()
  .color(.white)
  .border(color: .blue)
  .border(width: 5)
  .corner(radius: 10)
  .image

sample2

Creating Color Overlayed Image
let image = UIImage(named: "myArrow").with(color: UIColor.blueColor())

Getting Started

SwiftyImage provides a simple way to create images with method chaining.

Step 1. Start Chaining

Method chaining starts from UIImage.size() or UIImage.resizable().

UIImage.size(width: CGFloat, height: CGFloat) // ...
UIImage.size(size: CGSize) // ...
UIImage.resizable() // ...

Step 2. Setting Properties

You can set fill color, border attributes, corner radius, etc.

UIImage.size(width: 100, height: 100)  // fixed size
  .color(.white)                       // fill color
  .border(color: .red)                 // border color
  .border(width: 10)                   // border width
  .corner(radius: 20)                  // corner radius
UIImage.resizable() // resizable image
  .color(.white)
  .border(color: .lightGray)
  .border(width: 1)
  .corner(radius: 5)

Step 3. Generating Image

Use .image at the end of method chaining to generate image.

imageView.image = UIImage.size(width: 100, height: 100)
  .color(.white)
  .border(color: .red)
  .border(width: 10)
  .corner(radius: 20)
  .image  // generate UIImage

Methods Available

Starting Method Chaining

  • .size(width: CGFloat, height: CGFloat)

    Starts chaining for fixed size image

  • .size(CGSize)

    Starts chaining for fixed size image

  • .resizable()

    Starts chaining for resizable image

Setting Properties

  • .color(UIColor)

    Sets fill color

  • .color(gradient: [UIColor], locations: [CGFloat], from: CGPoint, to: CGPoint)

    Sets gradient fill color

    New in version 1.1.0

  • .border(width: CGFloat)

    Sets border width

  • .border(color: UIColor)

    Sets border color

  • .border(gradient: [UIColor], locations: [CGFloat], from: CGPoint, to: CGPoint)

    Sets gradient border color

    New in version 1.1.0

  • .border(alignment: BorderAlignment)

    Sets border alignment. Same with Photoshop’s

    available values: .inside, .center, .outside

  • .corner(radius: CGFloat)

    Sets all corners radius of image

  • .corner(topLeft: CGFloat)

    Sets top left corner radius of image

  • .corner(topRight: CGFloat)

    Sets top right corner radius of image

  • .corner(bottomLeft: CGFloat)

    Sets bottom left corner radius of image

  • .corner(bottomRight: CGFloat)

    Sets bottom right corner radius of image

Generating Image

  • .image

    Generates and returns image

Play with CGContext

SwiftyImage also provides a simple method to create or manipulate images with CGContext.

Creating Images

let image = UIImage.with(size: CGSize(width: 100, height: 100)) { context in
  UIColor.lightGrayColor().setFill()
  CGContextFillEllipseInRect(context, CGRect(x: 0, y: 0, width: 100, height: 100))
}

Manipulating Images

let newImage = oldImage.with { context in
  UIColor.lightGrayColor().setFill()
  CGContextFillEllipseInRect(context, CGRect(x: 0, y: 0, width: 100, height: 100))
}

Image Operator

You can easily combine multiple images with + operator.

let backgroundImage = ...
let iconImage = ...
let combinedImage = backgroundImage + iconImage

combine

Installation

pod 'SwiftyImage', '~> 1.1'

Playground

Use CocoaPods command $ pod try SwiftyImage to try Playground!

playground

License

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