口袋鹦鹉 1.1.0

口袋鹦鹉 1.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2018年12月
SPM支持SPM

Gavin Bunney维护。



Toucan: Fabulous Image Processing in Swift

Build Status CocoaPods Carthage compatible

口袋鹦鹉是一个Swift库,提供了一种干净、快速的API来处理图像。它极大地简化了图像生产过程,支持调整大小、裁剪和风格化图像。

特点

  • 简单智能的缩放
  • 椭圆形和圆角矩形的遮罩
  • 使用自定义图像遮罩
  • 链式图像处理阶段

要求

  • Xcode 10.0+
  • iOS 11.0+

设置

口袋鹦鹉用法

Toucan提供了两种交互方式 - 要么通过包装单个图像在Toucan实例中,要么通过静态函数,为每次调用提供一个图像。这允许非常灵活的使用。

创建实例包装器以实现轻松的方法链

let resizedAndMaskedImage = Toucan(image: myImage).resize(CGSize(width: 100, height: 150)).maskWithEllipse().image

或者,当您需要单个操作时使用静态方法

let resizedImage = Toucan.Resize.resizeImage(myImage, size: CGSize(width: 100, height: 150))
let resizedAndMaskedImage = Toucan.maskWithEllipse(resizedImage)

通常,实例版本使用起来更简洁,也是您需要的。

调整大小

将包含的图像调整到指定的大小。根据提供的fitMode,图像可能会被剪裁、裁剪或缩放。

Toucan(image: myImage).resize(size: CGSize, fitMode: Toucan.Resize.FitMode)

适配模式

FitMode驱动缩放过程以确定如何对图像进行处理以使其适应给定的尺寸边界。

示例 模式
Clip 裁剪模式
Toucan.Resize.FitMode.Clip
将图像缩放到适应宽度和高度边界,而不裁剪或扭曲图像。

Toucan(image: portraitImage).resize(CGSize(width: 500, height: 500), fitMode: Toucan.Resize.FitMode.Clip).image
Crop 裁剪模式
Toucan.Resize.FitMode.crop
将图像调整到填充宽度和高度边界,并裁剪任何额外的图像数据。

Toucan(image: portraitImage).resize(CGSize(width: 500, height: 500), fitMode: Toucan.Resize.FitMode.Crop).image
Scale 缩放模式
Toucan.Resize.FitMode.scale
将图像缩放到恰好适应限制维度。

Toucan(image: portraitImage).resize(CGSize(width: 500, height: 500), fitMode: Toucan.Resize.FitMode.Scale).image

蒙版

使用蒙版更改原始图像;支持椭圆、圆角矩形和图像蒙版。

椭圆蒙版

示例 函数
Ellipse Mask 使用椭圆给定的图像添加蒙版。允许指定要绘制在裁剪图像上的额外边框。对于圆形,确保图像宽度和高度相等!

Toucan(image: myImage).maskWithEllipse().image
Ellipse Mask w. Border 当指定边框宽度时,它将绘制在裁剪图像上。

Toucan(image: myImage).maskWithEllipse(borderWidth: 10, borderColor: UIColor.yellowColor()).image

路径遮罩

示例 函数
Path Mask 使用路径将给定图像进行遮罩。路径会缩放到正确适配图像尺寸!

path.moveToPoint(CGPointMake(0, 50))
path.addLineToPoint(CGPointMake(50, 0))
path.addLineToPoint(CGPointMake(100, 50))
path.addLineToPoint(CGPointMake(50, 100))
path.closePath()
Toucan(image: myImage).maskWithPath(path: path).image
Path Mask w. Closure 通过闭包提供路径进行给定图像的遮罩。这允许您相对于图像的边界构建路径!

Toucan(image: myImage).maskWithPathClosure(path: (rect: CGRect) -> (UIBezierPath)).image

圆角矩形遮罩

示例 函数
Rounded Rect Mask 使用圆角矩形边框遮罩给定的图像。允许指定绘制在切割图像上的附加边框。

Toucan(image: myImage).maskWithRoundedRect(cornerRadius: 30).image
Rounded Rect Mask w. Border 指定边框宽度时,会在切割的圆角矩形上绘制。

Toucan(image: myImage).maskWithRoundedRect(cornerRadius: 30, borderWidth: 10, borderColor: UIColor.purpleColor()).image

图像遮罩

示例 函数
Image Mask 将对给定图像使用另一个图像遮罩。请注意,在原始图像中与遮罩的黑色区域对应的区域在结果图像中会显示出来。遮罩的白色区域对应的区域不会被涂色。遮罩的灰色区域使用一个中间的alpha值进行涂色,该值等于 1 减去图像遮罩采样值。

Toucan(image: myImage).maskWithImage(maskImage: octagonMask).image

示例图像

在Creative Commons许可下使用示例图像,并感谢

贡献

  1. 请分叉此项目
  2. Toucan.swift 文件中实现新方法或更改。
  3. ToucanTests 文件夹中编写测试。
  4. 在 README.md 中编写适当的文档和注释
  5. 提交一个拉取请求。

联系

提出一个 问题 或在 Twitter 上联系我 @gavinbunney

许可

Toucan 采用 MIT 许可协议发布。更多信息请参阅 LICENSE 文件。