UIImage扩展
来源:互联网 发布:win10看图软件 知乎 编辑:程序博客网 时间:2024/05/20 03:37
//// UIImage+Scale.h// CloudShopping//// Created by sixiaobo on 14-7-8.// Copyright (c) 2014年 com.Uni2uni. All rights reserved.//#import <UIKit/UIKit.h>/*! * @brief * @author huangyibiao */@interface UIImage (Scale)/*! * @brief 根据指定的Rect来截取图片,返回截取后的图片 * @param rect 指定的Rect,如果大小超过图片大小,就会返回原图片 * @return 返回截取后的图片 */- (UIImage *)subImageWithRect:(CGRect)rect;/*! * @brief 把图片等比例缩放到指定的size * @param size 缩放后的图片的大小 * @return 返回缩放后的图片 */- (UIImage *)scaleToSize:(CGSize)size;@end
//// UIImage+Scale.m// CloudShopping//// Created by sixiaobo on 14-7-8.// Copyright (c) 2014年 com.Uni2uni. All rights reserved.//#import "UIImage+Scale.h"@implementation UIImage (Scale)#pragma mark - 截取部分图像- (UIImage *)subImageWithRect:(CGRect)rect { CGImageRef subImageRef = CGImageCreateWithImageInRect(self.CGImage, rect); CGRect smallBounds = CGRectMake(0, 0, CGImageGetWidth(subImageRef), CGImageGetHeight(subImageRef)); UIGraphicsBeginImageContext(smallBounds.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextDrawImage(context, smallBounds, subImageRef); UIImage* smallImage = [UIImage imageWithCGImage:subImageRef]; UIGraphicsEndImageContext(); return smallImage;}#pragma mark - 等比例缩放- (UIImage *)scaleToSize:(CGSize)size { CGFloat width = CGImageGetWidth(self.CGImage); CGFloat height = CGImageGetHeight(self.CGImage); float verticalRadio = size.height * 1.0 / height; float horizontalRadio = size.width * 1.0 / width; float radio = 1; if(verticalRadio > 1 && horizontalRadio > 1) { radio = verticalRadio > horizontalRadio ? horizontalRadio : verticalRadio; } else { radio = verticalRadio < horizontalRadio ? verticalRadio : horizontalRadio; } width = width * radio; height = height * radio; int xPos = (size.width - width) / 2; int yPos = (size.height - height) / 2; // 创建一个bitmap的context // 并把它设置成为当前正在使用的context UIGraphicsBeginImageContext(size); // 绘制改变大小的图片 [self drawInRect:CGRectMake(xPos, yPos, width, height)]; // 从当前context中创建一个改变大小后的图片 UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆栈 UIGraphicsEndImageContext(); // 返回新的改变大小后的图片 return scaledImage;}@end
0 0
- UIImage扩展
- 扩展UIImage
- UIImage 扩展功能
- Swift之UIImage方法扩展
- 对UIImage的类扩展
- iOS 图片压缩UIImage方法扩展
- iOS 图片压缩UIImage方法扩展
- iOS 图片压缩UIImage方法扩展
- iOS 图片压缩UIImage方法扩展
- iOS 图片压缩UIImage方法扩展
- iOS 图片压缩UIImage方法扩展
- 成长小计-UIImage、UIButton类扩展
- UIImage 类别扩展(图片工具箱)
- uiimage
- UIImage
- UIImage
- UIImage
- UIImage
- UVA 11400 Lighting System Design
- 显示python库路径
- Cube
- tomcat 类加载时找不到class类文件
- 决定于有效的建议在德国VPN
- UIImage扩展
- IOS中SQL语句
- 工作与人生中应熟练掌握的七个工具
- 可以下拉缩放HeaderView的ListView:PullToZoomInListView
- Response.Redirect引起的“无法在发送HTTP标头之后进行重定向”
- 橱窗布置
- Qt使用vs2008编译的注意事项
- LINUX驱动分析之RTC(一)
- NSString扩展