美文网首页iOS开发资料收集区
iOS 怎样将网络请求图片与屏幕适配不变形

iOS 怎样将网络请求图片与屏幕适配不变形

作者: ailanhou | 来源:发表于2016-06-25 15:07 被阅读2167次

前两天做项目,由于图片的大小比例与给定imageView的大小比例不一致,导致图片变形影响美观;现做以下操作

//根据宽高剪切图片

+(UIImage *)getImageFromUrl:(NSURL *)imgUrl imgViewWidth:(CGFloat)width imgViewHeight:(CGFloat)height;

#pragma mark-------根据imgView的宽高获得图片的比例

+(UIImage *)getImageFromUrl:(NSURL *)imgUrl imgViewWidth:(CGFloat)width imgViewHeight:(CGFloat)height{

UIImage * image =[[UIImage alloc] init];

UIImage * newImage =  [image getImageFromUrl:imgUrl imgViewWidth:width imgViewHeight:height];

return newImage;

}

//对象方法

-(UIImage *)getImageFromUrl:(NSURL *)imgUrl imgViewWidth:(CGFloat)width imgViewHeight:(CGFloat)height{

//data 转image

UIImage * image ;

//根据网址将图片转化成image

NSData * data = [NSData dataWithContentsOfURL:imgUrl];

image =[UIImage imageWithData:data];

//图片剪切

UIImage * newImage = [self cutImage:image imgViewWidth:width imgViewHeight:height];

return newImage;

}

//裁剪图片

- (UIImage *)cutImage:(UIImage*)image imgViewWidth:(CGFloat)width imgViewHeight:(CGFloat)height

{

//压缩图片

CGSize newSize;

CGImageRef imageRef = nil;

if ((image.size.width / image.size.height) < (width / height)) {

newSize.width = image.size.width;

newSize.height = image.size.width * height /width;

imageRef = CGImageCreateWithImageInRect([image CGImage], CGRectMake(0, fabs(image.size.height - newSize.height) / 2, newSize.width, newSize.height));

} else {

newSize.height = image.size.height;

newSize.width = image.size.height * width / height;

imageRef = CGImageCreateWithImageInRect([image CGImage], CGRectMake(fabs(image.size.width - newSize.width) / 2, 0, newSize.width, newSize.height));

}

return [UIImage imageWithCGImage:imageRef];

}

相关文章

  • iOS 怎样将网络请求图片与屏幕适配不变形

    前两天做项目,由于图片的大小比例与给定imageView的大小比例不一致,导致图片变形影响美观;现做以下操作 //...

  • WKWebView加载html图片过大

    WKWebView加载html图片过大,将图片缩放适配屏幕方法

  • iOS屏幕适配和设计流程分析

    iOS开发中,屏幕适配很多使用masonary这个库,但是使用过程中需要知道这些在屏幕适配的过程中与图片相关的工作...

  • iOS 网络图片尺寸/高度自适应

    问题简述 1.iOS开发中,常碰到网络图片需要做尺寸适配(使显示出来的图片不变形)2.最好的解决方案是:后台把图片...

  • iPhone X屏幕适配

    iPhone X开发设计屏幕适配。iPhone X(10)屏幕分辨率与适配,iOS开发适配与UI设计问题。 htt...

  • stretchableImageWithLeftCapWidth

    这个方法经常用到拉伸图片,保证看起来图片不变形。比如聊天的气泡、或者图片带有边框图案,为了适配屏幕,保证边框不变形...

  • Unity UGUI九宫格切图

    在配置背景图片时候,适配不同屏幕,图片会被拉伸变形。 1.选中图片资源,点击 SpriteEditor 按钮 2....

  • Android屏幕适配

    一. 为什么要适配屏幕 android屏幕大小、屏幕密度碎片化严重 二. 怎么样适配屏幕 图片适配 应用图标提供不...

  • iOS网络图片尺寸适配

    一.前言: 1.iOS开发中,常碰到网络图片需要做尺寸适配(使显示出来的图片不变形) 2.最好的解决方案是:后台把...

  • 技术贴合集

    iOS网络图片尺寸适配 iOS 10 消息推送(UserNotifications)秘籍总结 静默推送 iOS 面...

网友评论

    本文标题:iOS 怎样将网络请求图片与屏幕适配不变形

    本文链接:https://www.haomeiwen.com/subject/rpujkttx.html