Skip to content

OSS, 图片处理, 缩放, iOS, Image, Object-C,OC,阿里云图片存储

License

Notifications You must be signed in to change notification settings

GFDreamer/OSSImageMaker

Repository files navigation

OSSImageMaker

CI Status Version License Platform

Example

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

Requirements

Installation

OSSImageMaker is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "OSSImageMaker"

OSS阿里云属性比对

OSSImageMaker OSS阿里云 描述 取值范围
contentModel OSSImageResizeContentModelTypeLift, OSSImageResizeContentModelTypeMfit, OSSImageResizeContentModelTypePad, OSSImageResizeContentModelTypeFixed, OSSImageResizeContentModelTypeFill m 指定缩略的模式:lfit:等比缩放,限制在设定在指定w与h的矩形内的最大图片。mfit:等比缩放,延伸出指定w与h的矩形框外的最小图片。fill:固定宽高,将延伸出指定w与h的矩形框外的最小图片进行居中裁剪。pad:固定宽高,缩略填充fixed:固定宽高,强制缩略 [lfit,mfit,fill,pad,fixed],默认为lfit
width w 指定目标缩略图的宽度。 1-4096
height h 指定目标缩略图的高度。 1-4096
limit limit 指定当目标缩略图大于原图时是否处理。值是 1 表示不处理;值是 0 表示处理。 0/1, 默认是 1
equalRatioScale p 倍数百分比。 小于100,即是缩小,大于100即是放大。 1-1000
screenWidthToHeightScale(自定义属性) 宽高比 屏幕宽 根据传入的比例依据屏幕宽计算高度 高度 screenWidthToHeightScale = ScreenWidth * 1.0 / ScreenHeight 宽高比的值
widthToHeightScale(自定义属性) 普通宽高比 根据指定宽和指定比例计算设置高度 比例 = width / height 限制条件 必须 先配置 width的大小 宽高比的值
heightToWidthScale(自定义属性) 普通宽高比 根据指定高和指定比例计算设置宽度 width / height限制条件 必须先 配置 height的大小; 宽高比的值
resultString(自定义属性) 最终结果值, 调用完OSSImageMaker, 需要调用resultString, 取出已经修改过的图片URL 返回一个e.g http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png?x-oss-process=image/resize,w_200,h_400,m_pad,limit_0

Resize(图片缩放使用范例)

单边缩放

  //将图缩略成高度为100,宽度按比例处理。
  //因为OSSImageMaker 内置转换了 2x 和3x 所以图片的质量转换后 2x 高度200px 2x 高度 300px
  NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
  NSString *oss_url = str.maker.resize.width(@100).resultString;
  

强制宽高缩略

//强制缩略宽高 contentModel 为 fiexd
   // frame 宽高 100 则 2x和3x 分别为 200 和 300px
   NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
   NSString *oss_url = str.maker.resize.width(@100).height(@100)

等比缩放, 限定在矩形框内

//将图缩略成宽度为100,高度为100,按长边优先 contentModel 为lift
   // frame 宽高 100 则 2x和3x 分别为 200 和 300px
   NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
   NSString *oss_url = str.maker.resize.width(@100).height(@100).contentModel(@(OSSImageResizeContentModelTypeLfit)).resultString;

等比缩放, 限定在矩形框内 短边优先

//将图缩略成宽度为100,高度为100,短边优先 contentModel 为mfit
    // frame 宽高 100 则 2x和3x 分别为 200 和 300px
    NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
    NSString *oss_url = str.maker.resize.width(@100).height(@100).contentModel(@(OSSImageResizeContentModelTypeMfit)).resultString;

固定宽高,自动裁剪

//将图缩略成宽度为100,高度为100,contentModel 为fill
    // frame 宽高 100 则 2x和3x 分别为 200 和 300px
    NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
    NSString *oss_url = str.maker.resize.width(@100).height(@100).contentModel(@(OSSImageResizeContentModelTypeFill)).resultString;

缩略填充

//将图按短边缩略到100x100, 然后按红色填充 contentModel pad 模式
    // frame 宽高 100 则 2x和3x 分别为 200 和 300px
    NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
    NSString *oss_url = str.maker.resize.width(@100).height(@100).contentModel(@(OSSImageResizeContentModelTypePad)).color(@"ff0000").resultString;

按比例缩略

NSString *str = @"http://jyjf-test.oss-cn-hangzhou.aliyuncs.com/cms/201706/1a63a8cf9a5043999b53df72fdafc124.png";
    NSString *oss_url = str.maker.resize.equalRatioScale(@10).resultString;

Author

LDreame, [email protected]

License

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

About

OSS, 图片处理, 缩放, iOS, Image, Object-C,OC,阿里云图片存储

Resources

License

Stars

Watchers

Forks

Packages

No packages published