压缩图片尺寸

转载 2016年06月02日 09:52:11

//
  // UIImage+SuperCompress.m
  // JKCategories (https://github.com/shaojiankui/JKCategories)
  //
  // Created by Jakey on 16/1/22.
  // Copyright © 2016年 Jakey. All rights reserved.
  //
   
  #import "UIImage+JKSuperCompress.h"
   
  @implementation UIImage (JKSuperCompress)
  + (UIImage*)jk_resizableHalfImage:(NSString *)name
  {
  UIImage *normal = [UIImageimageNamed:name];
   
  CGFloat imageW = normal.size.width *0.5;
  CGFloat imageH = normal.size.height *0.5;
  return [normalresizableImageWithCapInsets:UIEdgeInsetsMake(imageH, imageW, imageH, imageW)];
  }
   
   
  + (NSData *)jk_compressImage:(UIImage *)imagetoMaxLength:(NSInteger)maxLengthmaxWidth:(NSInteger)maxWidth{
  NSAssert(maxLength > 0, @"图片的大小必须大于 0");
  NSAssert(maxWidth > 0, @"图片的最大边长必须大于 0");
   
  CGSize newSize = [selfjk_scaleImage:image withLength:maxWidth];
  UIImage *newImage = [selfjk_resizeImage:image withNewSize:newSize];
   
  CGFloat compress = 0.9f;
  NSData *data = UIImageJPEGRepresentation(newImage, compress);
   
  while (data.length > maxLength && compress >0.01) {
  compress -= 0.02f;
   
  data = UIImageJPEGRepresentation(newImage, compress);
  }
  return data;
  }
   
  + (UIImage *)jk_resizeImage:(UIImage *)image withNewSize:(CGSize)newSize{
   
  UIGraphicsBeginImageContext(newSize);
  [image drawInRect:CGRectMake(0,0, newSize.width, newSize.height)];
   
  UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
   
  return newImage;
  }
   
  + (CGSize)jk_scaleImage:(UIImage *)image withLength:(CGFloat)imageLength{
   
  CGFloat newWidth = 0.0f;
  CGFloat newHeight = 0.0f;
  CGFloat width = image.size.width;
  CGFloat height = image.size.height;
   
  if (width > imageLength || height > imageLength){
   
  if (width > height) {
   
  newWidth = imageLength;
  newHeight = newWidth * height / width;
   
  }else if(height > width){
   
  newHeight = imageLength;
  newWidth = newHeight * width / height;
   
  }else{
   
  newWidth = imageLength;
  newHeight = imageLength;
  }
   
  }else{
  return CGSizeMake(width, height);
  }
   
  return CGSizeMake(newWidth, newHeight);
  }
   
  @end
今天在群里面学习了,如何压缩图片,具体的代码如上,希望对各位有用!

图片尺寸压缩

import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java...
  • buck_long
  • buck_long
  • 2015年04月03日 13:48
  • 220

ios 压缩图片尺寸方法

/**  *  压缩图片到指定尺寸大小  *  *  @param image 原始图片  *  @param size  目标大小  *  *  @return 生成图片  */ -...
  • jbl20078
  • jbl20078
  • 2018年01月22日 14:11
  • 13

python脚本编程:批量压缩图片大小

需要安装第三方模块PIL代码#coding:utf-8 import Image import os#图片压缩批处理 def compressImage(srcPath,dstPath): ...
  • u012234115
  • u012234115
  • 2015年12月10日 13:20
  • 8081

日用 Python —— 压缩图片尺寸

自己写了用来压缩 DC 照片的,批量处理整目录文件,非常方便。需要安装 PIL #!/usr/bin/env python import Image import os import os.pa...
  • ccat
  • ccat
  • 2010年06月24日 22:34
  • 8229

图片尺寸、质量压缩

在开发的过程中有时候会遇到一个异常:OOM 异常,对于造成OOM异常的原因  其中有一条“内存压力过大:图片资源加载过多,超过内存使用空间,例如Bitmap 的使用”,那么这时候我们就要想办法把图片给...
  • lijinweii
  • lijinweii
  • 2017年06月20日 09:51
  • 107

android 压缩图片尺寸

android 压缩图片尺寸 /** * 压缩图片尺寸 * @param pathName * @param targetWidth * @...
  • u012482178
  • u012482178
  • 2015年06月25日 10:27
  • 423

WordPress防止自动压缩jpg图片

WordPress 默认会自动压缩上传的 jpg 图片。 这是一件好事,因为它使图像文件更小,这有利于节省带宽,减少加载时间,加速网页打开速度。 但在某些情况下,图像质量更重要,例如如你是个摄影爱...
  • LIU_YANZHAO
  • LIU_YANZHAO
  • 2017年05月22日 15:26
  • 351

使用ImageIO压缩图片

最近项目中有个需求,需要批量对图片服务器上的图片进行压缩,并将压缩后的文件上传到图片服务器上,对图片的压缩处理方面决定采用ImageIO来进行。   javax.imageio.ImageIO,提供了...
  • magicflute_l
  • magicflute_l
  • 2016年11月04日 16:51
  • 844

图片尺寸压缩和图片质量压缩

开发中遇到需要上传图片的场景还是很常见的,这就涉及到图片的压缩处理。如果不进行压缩,势必造成消耗大量的流量,下载图片的速度慢等。 关于android如何压缩,网上的资料也是很多,但大多数都是代码...
  • qq_35295155
  • qq_35295155
  • 2016年10月08日 16:38
  • 228

发布文章“下载远程图片”,缩略图片在限制尺寸之内(dede 5.5)

很多时候,我们发布文章的时候,是从别的网站复制粘贴内容到正文框,而复制的内容中往往又带有图片,DEDE系统发布文章有个设置叫“下载远程图片和资源”,它会自动把这些内容里的图片,从来源网站上复制到我们的...
  • forest_fire
  • forest_fire
  • 2016年03月21日 10:48
  • 335
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:压缩图片尺寸
举报原因:
原因补充:

(最多只允许输入30个字)