加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

IOS - UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图

(2014-05-05 18:30:08)
标签:

ios-uiimageview圆角

it

分类: Mac/IOS那些事
 
    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.00.0, ratioX, ratioY); // 设置图片缩微图的区域((0,0),宽:75  高:60)

    UIGraphicsBeginImageContext(rect.size);

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

    UIImage *thumbnail = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    // Done Resizing

    return thumbnail;

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有