ios 给出一张图片,返回一个指定大小的图片
2014-02-25 11:00
288 查看
/*--------------------------------------------------
* 根据size截取图片中间矩形区域的图片这里的size是正方形
---------------------------------------------------*/
-(UIImage *)cutCenterImage:(UIImage *)image size:(CGSize)size
{
CGSize imageSize = image.size;
CGRect rect;
//根据图片的大小计算出图片中间矩形区域的位置与大小
if (imageSize.width > imageSize.height)
{
float leftMargin = (imageSize.width - imageSize.height) *0.5;
rect = CGRectMake(leftMargin,
0, imageSize.height, imageSize.height);
}
else
{
float topMargin = (imageSize.height - imageSize.width) *0.5;
rect = CGRectMake(0, topMargin, imageSize.width, imageSize.width);
}
CGImageRef imageRef = image.CGImage;
//截取中间区域矩形图片
CGImageRef imageRefRect =
CGImageCreateWithImageInRect(imageRef, rect);
UIImage *tmp = [[UIImagealloc]
initWithCGImage:imageRefRect];
CGImageRelease(imageRefRect);
UIGraphicsBeginImageContext(size);
CGRect rectDraw =
CGRectMake(0,
0, size.width, size.height);
[tmp drawInRect:rectDraw];
//从当前context中创建一个改变大小后的图片
tmp = UIGraphicsGetImageFromCurrentImageContext();
//
使当前的context出堆栈
UIGraphicsEndImageContext();
return tmp;
}
* 根据size截取图片中间矩形区域的图片这里的size是正方形
---------------------------------------------------*/
-(UIImage *)cutCenterImage:(UIImage *)image size:(CGSize)size
{
CGSize imageSize = image.size;
CGRect rect;
//根据图片的大小计算出图片中间矩形区域的位置与大小
if (imageSize.width > imageSize.height)
{
float leftMargin = (imageSize.width - imageSize.height) *0.5;
rect = CGRectMake(leftMargin,
0, imageSize.height, imageSize.height);
}
else
{
float topMargin = (imageSize.height - imageSize.width) *0.5;
rect = CGRectMake(0, topMargin, imageSize.width, imageSize.width);
}
CGImageRef imageRef = image.CGImage;
//截取中间区域矩形图片
CGImageRef imageRefRect =
CGImageCreateWithImageInRect(imageRef, rect);
UIImage *tmp = [[UIImagealloc]
initWithCGImage:imageRefRect];
CGImageRelease(imageRefRect);
UIGraphicsBeginImageContext(size);
CGRect rectDraw =
CGRectMake(0,
0, size.width, size.height);
[tmp drawInRect:rectDraw];
//从当前context中创建一个改变大小后的图片
tmp = UIGraphicsGetImageFromCurrentImageContext();
//
使当前的context出堆栈
UIGraphicsEndImageContext();
return tmp;
}
相关文章推荐
- android 计算Bitmap占byte大小,以及Bitmap中像素数的计算,另外再给出一个按尺寸裁剪图片的方法
- 一个页面一张图片,页面高大小随图片高变化
- php图片缩放代码-按比例缩放或截取指定大小的缩略图 非常好用的一个方法
- 七牛iOS按顺序依次上传多张图片,一个block返回所有上传的url
- iOS 图片按比例压缩,指定大小压缩
- iOS开发技巧之:图片压缩成指定的大小
- iOS开发小方法:根据UIColor一个颜色生成一张图片
- 1.6 给出一张图片,表示为NXN的居然,每个像素点为4字节。写一个函数实现将这张图片旋转90°。
- iOS开发之初:根据一张gif图,返回其中每一帧的图片数组(ImageView加载gif))
- iOS - 设置图片为背景色,且拉伸到指定大小
- 自己写的一个图片上传类,很方便可以指定目录,系统自动创建目录,可以指定名字,类型,大小
- ios-->截图、生成指定大小图片以及压缩
- iOS开发之image图片压缩及压缩成指定大小的两种方法
- 输入一个图片,获得转换成为指定大小的图片
- ios-->截图、生成指定大小图片以及压缩
- 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。
- iOS中图片压缩成指定的大小
- iOS图片压缩成指定大小
- gdiplus将一种图片格式转换成另外一个指定图片格式,且可设置图片大小
- 按宽/高缩放图片到指定大小并进行裁剪得到中间部分图片 返回Bitmap