/*
     设置圆角,通过layer中的cornerRadius和masksToBounds即可。
     
     自适应图片宽高比例。通过UIViewContentModeScaleAspectFit设置,注意这个UIImageView的frame就不是init中的数据了。
     
     同样的UIImage图片放入不同frame中的UIImageView就可以实现比例缩放了。只是UIImageView的大小改变了,

*/
    UIImage* image = [UIImage imageNamed:@"back2.jpg"];   
    UIImageView* imageView1 = [[[UIImageView alloc] initWithImage:image] autorelease];   
    imageView1.frame = CGRectMake(0, 0, 300, 200);   
    imageView1.center = CGPointMake(150, 200);
    //设置圆角
    imageView1.layer.cornerRadius = 8;  
    imageView1.layer.masksToBounds = YES;
    
    //自适应图片宽高比例
    imageView1.contentMode = UIViewContentModeScaleAspectFit;  
    [self.view addSubview:imageView1];  
    
    
    //拉伸图片
    CGFloat capWidth = image.size.width / 2;  
    CGFloat capHeight = image.size.height / 2;  
    UIImage* stretchableImage = [image stretchableImageWithLeftCapWidth:capWidth topCapHeight:capHeight];
    UIImageView* imageView3 = [[[UIImageView alloc] initWithImage:stretchableImage] autorelease];
    imageView3.frame = CGRectMake(0, 0, 300, 200);   
    imageView3.center = CGPointMake(150, 200);  
    [self.view addSubview:imageView3];
    
    //改变frame改变
    UIImageView* imageView4 = [[[UIImageView alloc] initWithImage:image] autorelease];
    imageView4.frame = CGRectMake(0, 0, 300/2, 200/2);   
    imageView4.center = CGPointMake(150, 200);

[self.view addSubview:imageView4];

//缩微图

- (UIImage *)generatePhotoThumbnail:(UIImage *)image {

// Create a thumbnail version of the image for the event object.

CGSize size = image.size;

CGSize croppedSize;

CGFloat ratioX = 75.0;

CGFloat ratioY = 60.0;

CGFloat offsetX = 0.0;

CGFloat offsetY = 0.0;

// check the size of the image, we want to make it

// a square with sides the size of the smallest dimension

if (size.width > size.height) {

offsetX = (size.height - size.width) / 2;

croppedSize = CGSizeMake(size.height, size.height);

} else {

offsetY = (size.width - size.height) / 2;

croppedSize = CGSizeMake(size.width, size.width);

}

// Crop the image before resize

CGRect clippedRect = CGRectMake(offsetX * -1, offsetY * -1, croppedSize.width, croppedSize.height);

CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], clippedRect);

// Done cropping

// Resize the image

CGRect rect = CGRectMake(0.0, 0.0, ratioX, ratioY); // 设置图片缩微图的区域((0,0),宽:75  高:60)

UIGraphicsBeginImageContext(rect.size);

[[UIImage imageWithCGImage:imageRef] drawInRect:rect];

UIImage *thumbnail = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

// Done Resizing

return thumbnail;

}

UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图相关推荐

  1. java解析webp格式图片宽高;java解析webp图片转png格式

    java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...

  2. android 控件高度和图片一样高,Android 根据图片宽高比例设置控件宽高

    这个方式适用于一个界面少量图片. 主要的计算公式就是得到当前控件最大的显示宽度(高度),一般填充屏幕的话,就直接取屏幕的宽度了. 得到宽度除以图片宽除以高,也可以直接得到图片宽高的比例.如下公式 这种 ...

  3. html移动端背景图片大小,移动端怎么样让图片宽高比例正好适应手机当前屏幕全屏大小?...

    根据需求来看,建议通过css的背景属性来设置: 第一步,先添加一个屏幕大小的DOM元素: 或者直接在你的imgsrc上设置,前提是imgsrc的大小是屏幕大小: 第二步:设置元素的css属性: 一楼说 ...

  4. 微信小程序图片自适应宽高比例显示解决方法

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 解决方案一:写固定宽度,然后使用 image 组件中 mode 属性的 widthFix : 先看效果 ...

  5. Glide获取网络图片宽高,并动态设置图片宽高

    ​ 因Android手机屏幕尺寸较多,当imageview宽设置match_parent,高固定时.会导致图片拉伸或裁剪.目前可通过获取图片宽高,动态设置imageview宽高比例,等比例缩放图片. ...

  6. php展示微信图片尺寸,微信小程序实现image图片自适应宽度

    本文主要和大家分享微信小程序实现image图片自适应宽度,希望能帮助到大家,首先我们先来了解一下image组件. 一.了解image组件 由于image有默认的固定的宽度和高度,这样我们在做图片自适应 ...

  7. JS快速获取图片宽高的方法

    JS快速获取图片宽高的方法 快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括I ...

  8. 获取图片宽高、大小和图片类型

    直接贴代码 public static void main(String[] args) {String picUrl = "http://placeimg.com/640/480/any. ...

  9. layui 怎么设置点击图片放大_layui等比例放大/缩小图片

    HTML JS $("#photo").click(function(){ showImg($(this)); }); function showImg(imgData){ var ...

最新文章

  1. pdf格式转换成jpg的简单教程
  2. QT 下配置OpenCV(VS编译器+QT+OpenCV)
  3. 启动和退出mysql的三种方法_Oracle数据库几种启动和关闭方式
  4. ORA-01400: 无法将 NULL 插入 (CHARGE_WQRL.SF_JMQTFY_T.BH)
  5. 什么是AES算法?(整合版)
  6. 牛客 共鸣问题(思维难题)
  7. 教育部公开曝光南大梁莹学术不端等4起典型案例
  8. (pytorch-深度学习系列)使用Pytorch实现小型卷积神经网络网络
  9. 如何关闭hibernate产生的大量日志
  10. idea中Terminal显示不全或不显示问题的解决办法
  11. 那年学过的Java笔记一SE基础
  12. 指纹、面部、语音识别技术,破解真的很简单!| 知乎
  13. 阿里云OSS文件上传
  14. ts80x服务器系统,Lenovo ThinkServer TS80X 塔式服务器
  15. win10无法被远程计算机,win10无法被远程连接解决方法
  16. 卫星导航信号结构变化的过去,现在和未来
  17. 用bootstrap实现的,三种风格的登录界面网页源码
  18. linux 添加 声卡驱动,请问在linux下如何安装声卡驱动程序
  19. 如何一个网络连两台计算机,两台电脑用一根网线直连如何配置
  20. android编辑视频,android 视频剪辑(亲测可用)

热门文章

  1. python安全攻防---爬虫基础--re解析数据
  2. Linux获得命令帮助
  3. mysql主从同步面试题_面试被问MySQL 主从复制,怎么破?
  4. LeetCode上读不懂题!看不懂测试用例的那些题(有生之年更新。。。)
  5. python 使用requests模块进行 视频文件的下载
  6. oracle安装显示注册表,windows下oracle 11g r2 安装过程与卸载详细图解
  7. c++中this指针基本概念和使用
  8. 数据结构课程设计------c实现散列表(二次探测再哈希)电话簿(文件存储)
  9. C++ String类写时拷贝 4
  10. C语言中strspn()函数和strcspn()函数的对比使用