iOS UIImageView显示图片 以及 图片裁剪
2015-10-23 17:29
639 查看
iOS加载网络图片
sd加载网络图片,在得到图片的回调中,进行图片的裁剪。但是需要注意得到裁剪的图片后,要注意释放,否则内存会爆掉(特别是需要处理过多裁剪的图片时)[imageView sd_setImageWithURL:[NSURL URLWithString:[ymData.showImageArray objectAtIndex:i]] placeholderImage:[UIImage imageNamed:@"default_img.png"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { if (image != nil) { if (image.size.height>image.size.width) {//图片的高要大于与宽 CGRect rect = CGRectMake(0, image.size.height/2-image.size.width/2, image.size.width, image.size.width);//创建矩形框 CGImageRef cgimg = CGImageCreateWithImageInRect([image CGImage], rect); imageView.image=[UIImage imageWithCGImage:cgimg]; CGImageRelease(cgimg); }else{ CGRect rect = CGRectMake(image.size.width/2-image.size.height/2, 0, image.size.height, image.size.height);//创建矩形框 CGImageRef cgimg = CGImageCreateWithImageInRect([image CGImage], rect); imageView.image=[UIImage imageWithCGImage:cgimg]; CGImageRelease(cgimg); } } }];
UIImageView显示图片
通常我们得到的图片要显示在UIImageView里。但是图片的尺寸比例跟UIImageView的比例尺寸还不一样,这时。惯性思维就是要对图片就行处理裁剪啊什么的,得到跟UIImageView比例一样的图片,这样才不会失真。其实,不用对图片做任何处理,UIImageView的属性早已搞定了一切。imageView.contentMode = UIViewContentModeScaleAspectFill imageView.clipsToBounds = YES
UIViewContentModeScaleAspectFill会保证图片比例不变,但是是填充整个ImageView的,只有部分图片显示出来(而且需要设置clipsToBounds为YES,把多余的部分裁掉)。ImageView显示图片保证图片不失真,看起来不像压缩过的图片的方法只需设置这两个属性即可,就其他的属性自己查看SDK慢慢了解运用吧。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#图片处理3种高级应用
- 基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
- JQuery Jcrop 实现图片裁剪的插件
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- js+jquery实现图片裁剪功能
- php结合imgareaselect实现图片裁剪
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- PHP实现图片裁剪、添加水印效果代码