全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS中 UIImage根据屏宽调整size的实例代码

需求:UIImage根据屏幕宽度按照自己本身比例改变高度

上代码,为UIImage创建一个Category

#import "UIImage+UIImageExtras.h" 
@implementation UIImage (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; 
 } else if (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"); 
 return newImage ; 
} 
@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; 

以上所述是小编给大家介绍的iOS UIImage根据屏宽调整size的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios  # uiimage  # size  # iOS中UIImagePickerController图片选取器的用法小结  # iOS应用开发中对UIImage进行截取和缩放的方法详解  # IOS UI学习教程之使用UIImageView控件制作动画  # iOS开发中UIImageView控件的常用操作整理  # iOS开发中使用Quartz2D绘图及自定义UIImageView控件  # 小编  # 在此  # 给大家  # 所述  # 创建一个  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # imageSize  # CGFloat  # sourceImage  # targetSize  # nil  # newImage  # scaleFactor  # scaledWidth  # targetHeight  # width 


相关文章: 建站主机CVM配置优化、SEO策略与性能提升指南  nginx修改上传文件大小限制的方法  已有域名建站全流程解析:网站搭建步骤与建站工具选择  家具网站制作软件,家具厂怎么跑业务?  如何通过二级域名建站提升品牌影响力?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何用好域名打造高点击率的自主建站?  建站之星客服服务时间及联系方式如何?  建站主机无法访问?如何排查域名与服务器问题  如何通过远程VPS快速搭建个人网站?  网站设计制作企业有哪些,抖音官网主页怎么设置?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何在橙子建站上传落地页?操作指南详解  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  韩国服务器如何优化跨境访问实现高效连接?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  济南网站制作的价格,历城一职专官方网站?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  兔展官网 在线制作,怎样制作微信请帖?  实现虚拟支付需哪些建站技术支撑?  建站之星后台密码如何安全设置与找回?  建站为何优先选择香港服务器?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  建站之星安装后界面空白如何解决?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何用美橙互联一键搭建多站合一网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  微课制作网站有哪些,微课网怎么进?  学校为何禁止电信移动建设网站?  如何在Golang中使用replace替换模块_指定本地或远程路径  头像制作网站在线制作软件,dw网页背景图像怎么设置?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何快速重置建站主机并恢复默认配置?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  宁波自助建站系统如何快速打造专业企业网站?  如何基于云服务器快速搭建网站及云盘系统?  如何在VPS电脑上快速搭建网站?  如何在建站之星绑定自定义域名?  建站之星在线客服如何快速接入解答?  创业网站制作流程,创业网站可靠吗?  完全自定义免费建站平台:主题模板在线生成一站式服务  如何在IIS管理器中快速创建并配置网站?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  如何在西部数码注册域名并快速搭建网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  教学论文网站制作软件有哪些,写论文用什么软件 ? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。