最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
iOS中 UIImage根据屏宽调整size的实例代码
时间:2022-06-25 23:31:10 编辑:袖梨 来源:一聚教程网
需求:UIImage根据屏幕宽度按照自己本身比例改变高度
上代码,为UIImage创建一个Category
| 代码如下 | 复制代码 |
#import"UIImage+UIImageExtras.h" @implementationUIImage (UIImageExtras) - (UIImage *)imageByScalingToSize:(CGSize)targetSize { UIImage *sourceImage = self; UIImage *newImage = nil; CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width; CGFloat height = imageSize.height; CGFloat targetWidth = targetSize.width; CGFloat targetHeight = targetSize.height; CGFloat scaleFactor =0.0; CGFloat scaledWidth = targetWidth; CGFloat scaledHeight = targetHeight; CGPoint thumbnailPoint = CGPointMake(0.0,0.0); if(CGSizeEqualToSize(imageSize, targetSize) ==NO) { CGFloat widthFactor = targetWidth / width; CGFloat heightFactor = targetHeight / height; if(widthFactor < heightFactor) scaleFactor = widthFactor; else scaleFactor = heightFactor; scaledWidth = width * scaleFactor; scaledHeight = height * scaleFactor; // center the image if(widthFactor < heightFactor) {
thumbnailPoint.y = (targetHeight - scaledHeight) *0.5; }elseif(widthFactor > heightFactor) { thumbnailPoint.x = (targetWidth - scaledWidth) *0.5; } } // this is actually the interesting part: UIGraphicsBeginImageContext(targetSize); CGRect thumbnailRect = CGRectZero; thumbnailRect.origin = thumbnailPoint; thumbnailRect.size.width = scaledWidth; thumbnailRect.size.height = scaledHeight; [sourceImage drawInRect:thumbnailRect]; newImage =UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); if(newImage == nil) NSLog(@"could not scale image"); returnnewImage ; } @end | |
在需要使用的地方import然后使用
| 代码如下 | 复制代码 |
CGSize size = image.size; image = [image imageByScalingToSize:CGSizeMake([UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.width * (size.height / size.width))]; self.imageview.image = image; | |
相关文章
- 小小仙王清凉版本免费下载 无遮挡版本下载 09-07
- 天阶岛最厉害三个角色 英雄排行榜一览 09-07
- 大店小二0.1折下载—折扣平台在哪下载 09-07
- tplink路由器wr886n怎么设置桥接(tplink路由器wr886n设置桥接方法) 09-07
- 武侠大明星破解版免广告-mod作弊菜单 09-07
- 大店小二开服时间—新服开服情况 09-07

