星空网 > 软件开发 > 操作系统

【代码笔记】根据size截取屏幕中间矩形区域

代码:

RootViewController.m

【代码笔记】根据size截取屏幕中间矩形区域images/loading.gif' data-original="http://common.cnblogs.com/images/copycode.gif" />
#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  if (self) {    // Custom initialization  }  return self;}- (void)viewDidLoad{  [super viewDidLoad];  // Do any additional setup after loading the view.    //初始化界面  [self addView];  }#pragma -mark -functions//初始化界面-(void)addView{  UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 200, 200)];  imageView.backgroundColor=[UIColor redColor];  //显示截取的图  imageView.image=[self cutCenterImage:[UIImage imageNamed:@"1.jpg"] size:CGSizeMake(200, 200)];  [self.view addSubview:imageView];}#pragma mark 根据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 = [[UIImage alloc] 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;}- (void)didReceiveMemoryWarning{  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}
【代码笔记】根据size截取屏幕中间矩形区域

 

 


 

原标题:【代码笔记】根据size截取屏幕中间矩形区域

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

美国进口:https://www.goluckyvip.com/tag/38294.html
美国境内物流:https://www.goluckyvip.com/tag/38295.html
美国靠谱的海外仓:https://www.goluckyvip.com/tag/38296.html
美国空卡专线:https://www.goluckyvip.com/tag/38297.html
美国空派:https://www.goluckyvip.com/tag/38298.html
美国空派fba:https://www.goluckyvip.com/tag/38299.html
大福地快捷酒店预订 大福酒店怎么走:https://www.vstour.cn/a/365187.html
三亚有哪些酒店值得入住?:https://www.vstour.cn/a/366173.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流