等比压缩图片

+ (UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image

size:(CGSize)asize

{

UIImage *newimage = nil;

if (image)

{

CGSize oldsize = image.size;

CGRect rect;

if (asize.width/asize.height > oldsize.width/oldsize.height)

{

rect.size.width = asize.height*oldsize.width/oldsize.height;

rect.size.height = asize.height;

rect.origin.x = (asize.width - rect.size.width)/2;

rect.origin.y = 0;

}

else

{

rect.size.width = asize.width;

rect.size.height = asize.width*oldsize.height/oldsize.width;

rect.origin.x = 0;

rect.origin.y = (asize.height - rect.size.height)/2;

}

UIGraphicsBeginImageContext(asize);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);

UIRectFill(CGRectMake(0, 0, asize.width, asize.height));

[image drawInRect:rect];

newimage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

}

return newimage;

}

时间: 2024-11-29 07:03:41

等比压缩图片的相关文章

Android压缩图片和libjpeg库

前言 Fjpeg使用 Fjpeg 注意 如何使用 如何压缩图片只改变在硬盘的存储大小 如何改变图片分辨率让其Bitmap对象可以加载到内存中 关于重载版本 开始学习之旅 补充知识的结论 修改图片分辨率 防止在Android加载Bitmap的时候oom内存溢出 解决方案1 解决方案2 希望压缩图片方便网络传输 第一种方案利用Bitmapcompress方法压缩 第二种利用libjpeg压缩 在Android50测试两个 图片压缩 在Android60测试两个 图片压缩 解释Android50和60

Grunt压缩图片

今天我们来说一下用Grunt来压缩图片和JS吧! 首先要安装插件: 这是压缩图片的; npm install --save-dev gulp-imagemin 这是压缩JS的: npm install --save-dev gulp-imagemin 然后引入依赖: var gulp = require("gulp"); 在引入插件: var imagemin = require('gulp-imagemin');//压缩图片 var uglifyJS = require('gulp-

android压缩图片,解决oom错误

你的ImageView只有128*96像素的大小,只是为了显示一张缩略图,这时候把一张1024*768像素的图片完全加载到内存中显然是不值得的. 所以我们需要一个方法来解决这个问题. [java] view plaincopy public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { // 源图片的高度和宽度 final int height = op

压缩图片

NSData *data = UIImageJPEGRepresentation(image, 0.001); UIImage * preImage = [UIImage imageWithData:data]; [preImage drawInRect:CGRectMake(0, 0, ScreenWidth, ScreenHeight)]; 压缩图片分压和缩 如果只压,压到一定比例就不能再压了 所以还要缩

iOS一行代码压缩图片大小

现在基本所有应用都与图片相关联,这就必然涉及到上传下载图片,而用户的流量又迟迟没有被解放,因此图片就不能太大,我们知道iPhone一张照片动辄几M,如果都传原图那流量就会爆炸,粗暴地缩小又会影响图片的分辨率.那有没有办法在保持一定分辨率的情况下压缩图片呢?有的,而且非常简单,一行代码搞定,是苹果自带的压缩函数: UIImageJPEGRepresentation UIImagePNGRepresentation 这两个函数都是iOS自带的图片压缩工具.一个是压成JPEG格式,一个是压成PNG格式

Fastdfs与nginx进行压缩图片比率随记

前阵子,工作搞了一下Fastdfs与nginx进行压缩图片比率存储在server中,今天应用下工作时间记录下.本打算周六,老是由于一些事情给耽搁,眼下正在搞一个XMPP消息通讯协议,眼下还是一头雾水.没有实现什么功能,在此勉励,加油好好搞搞,搞好了记录下一些登录.退出.发送.接收的一些接口给client使用. 在此先把前面自己做的那个功能在此分享下.是一个模仿淘宝的,希望大神们有什么想法能够指教: 參考:http://www.v2ex.com/t/113845 http://blog.sina.

Android 高清加载巨图方案 拒绝压缩图片

Android 高清加载巨图方案 拒绝压缩图片

Android压缩图片到100K以下并保持不失真的高效方法

在开发Android企业应用时,会经常上传图片到服务器,而我们公司目前维护的一个项目便是如此.该项目是通过私有apn与服务器进行交互的,联通的还好,但移动的速度实在太慢,客户在使用软件的过程中,由于上传的信息中可能包含多张图片,会经常出现上传图片失败的问题,为了解决这个问题,我们决定把照片压缩到100k以下,并且保证图片不失真(目前图片经过压缩后,大约300k左右).于是我就重新研究了一下Android的图片压缩技术. Android端目录结构如下图所示: 使用的第三方库jar包,如下图所示:

Android ---------压缩图片尺寸和大小

package com.funs.compressImg.utils;          import java.io.ByteArrayInputStream;     import java.io.ByteArrayOutputStream;          import android.graphics.Bitmap;     import android.graphics.BitmapFactory;          /**图片压缩帮助类,有三种不同压缩图片的方法:      * 1

js等比压缩图片实现

// 等比压缩图片工具 function proDownImage(img) { var setSize = {}; var obj = { width : img.parent().width(), height : img.parent().height() //外容器宽高 }; var image = new Image(); image.src = img.attr("src"); //图片路径 if (image.width > 0 && image.h