class PictureUtil: NSObject {
//尺寸压缩
static func compress(image:UIImage,reWidth:CGFloat,reHeight:CGFloat)->NSData{
UIGraphicsBeginImageContext(CGSizeMake(reWidth, reHeight))
image.drawInRect(CGRectMake(0, 0, reWidth, reHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
var inSameSize = getInSameSize(image, reWidth: reWidth, reHeight: reHeight)
//如果尺寸没有超过 那么这里做些压的操作
if inSameSize == 1.0{
inSameSize = 0.7
}
return UIImageJPEGRepresentation(newImage, inSameSize)!
}
//获取体积缩放比例
private static func getInSameSize(image:UIImage,reWidth:CGFloat,reHeight:CGFloat)->CGFloat{
var insameSize:CGFloat = 1.0
let width = image.size.width
let height = image.size.height
if (width > reWidth || height > reHeight){
let halfWidth = width / 2
let halfHeight = height / 2
while ((halfWidth * insameSize) > reWidth && (halfHeight*insameSize) > reHeight){
insameSize/=2
}
}
return insameSize
}
}
ios 实现图片等比压缩
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近要实现一个手写签名功能,要求是,在一定区域绘制文字签名,签名完成后,添加新的水印,并且将图片仅保留签字区域剪切...
- gulp 是一款 nodejs 应用,用于前端开发过程中对代码进行构建,是自动化项目的构建利器。她不仅能对网站资源...
- 最近再做一个工具,主要的核心有图片裁剪、合成、和保存还有一个毛玻璃效果的处理。下面简单介绍一下核心的几个问题,以便...
- 提到从摄像头/相册获取图片是面向终端用户的,由用户去浏览并选择图片为程序使用。在这里,我们需要过UIImagePi...