图片压缩
来源:互联网 发布:爱情电影 知乎 编辑:程序博客网 时间:2024/06/08 09:44
Swift:
/** 压缩图片的方法, :param: originalImage 原图 :param: size 指定图片最后的大小 :returns: 压缩后图片 */ class func imageCut(originalImage:UIImage,size:CGSize)->UIImage{ UIGraphicsBeginImageContext(size) originalImage.drawInRect(CGRectMake(0, 0, size.width, size.height)) let standardImage1 = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return standardImage1 }
OC:
//// UIImageUtil.m// Cycling//// Created by LH on 15/11/4.// Copyright © 2015年 apple. All rights reserved.//#import "UIImageUtil.h"@implementation UIImageUtil//修改图片大小和控件一致+(UIImage *)scaleImageToSize:(UIImage *)img size:(CGSize)size { // 绘制改变大小的图片 UIGraphicsBeginImageContextWithOptions(size, NO, 2.0); [img drawInRect:CGRectMake(0, 0, size.width, size.height)]; // 从当前context中创建一个改变大小后的图片 UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆栈 UIGraphicsEndImageContext(); // 返回新的改变大小后的图片 return scaledImage;}+ (UIImage *)scaleImageToSize:(UIImage *)img scale:(CGFloat)scale{ CGSize size=img.size; UIGraphicsBeginImageContextWithOptions(size, NO, 2.0); [img drawInRect:CGRectMake(0, 0, size.width*scale, size.height*scale)]; // 从当前context中创建一个改变大小后的图片 UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆栈 UIGraphicsEndImageContext(); // 返回新的改变大小后的图片 return scaledImage;}/** * @author lH * * 裁剪一定区域的图片 * * @param cutView 指定的图片 * * @return 裁剪后的图片 */ +(UIImage *)cutViewWithView:(UIView *)cutView{ // UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow];// UIGraphicsBeginImageContext(cutView.frame.size);//全屏截图,包括window UIGraphicsBeginImageContextWithOptions(cutView.frame.size, NO, [UIScreen mainScreen].scale); [cutView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();// UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); return viewImage;}/** * 等比缩放图片裁剪指定区域图片 * * @param image 原图 * @param size 裁剪范围 * * @return 裁剪后的图片 */+(UIImage *)compressImageWith:(UIImage *)image scaleToSize:(CGSize)size{ // 原图宽 CGFloat imageWidth = image.size.width; // 原图高 CGFloat imageHeight = image.size.height; // 缩放比例 CGFloat widthScale = imageWidth /size.width; CGFloat heightScale = imageHeight /size.height; // 创建一个bitmap的context // 并把它设置成为当前正在使用的context UIGraphicsBeginImageContext(CGSizeMake(size.width, size.height)); // 横屏图片 if (widthScale > heightScale) { [image drawInRect:CGRectMake(0, 0, imageWidth /heightScale , size.height)]; } else { // 竖屏图片 [image drawInRect:CGRectMake(0, 0, size.width , imageHeight /widthScale)]; } // 从当前context中创建一个改变大小后的图片 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆栈 UIGraphicsEndImageContext(); return newImage;}@end
0 0
- 图片压缩。大小压缩
- 图片压缩按比例压缩
- 压缩图片
- 压缩图片
- 图片压缩
- 图片压缩
- 图片压缩
- 图片压缩
- 压缩图片
- 图片压缩
- 图片压缩
- 图片压缩
- 图片压缩
- 图片压缩
- 图片压缩
- 图片压缩
- 压缩图片
- 图片压缩
- python 中文乱码问题
- 求圆的周长和面积!利用Scanner创建对象进行数据的输入
- 简单的java通信工具类
- iOS网络编程TCP/IP应用篇(五)-发送数据及其它(加密,重连)
- 缩放Fresco图片
- 图片压缩
- Windows下启动eclipse出现JRE or JDK must be available in order to run Eclipse.No Java virtual machine was
- RMAN备份动态性能视图 V$BACKUP_SET_DETAILS
- hive 基本操作
- windows 多版本JDK并存方案
- java 使用的json工具类
- LOG4J配置详解及样例一个
- Mockito
- 前端做好页面后后端拿到手配置的问题