iOS 按比例显示图片 切割后显示中心图片(缩略图)

来源:互联网 发布:全国省市区sqlserver 编辑:程序博客网 时间:2024/05/18 02:47

切割后显示中心图片

+ (UIImage *) image: (UIImage *) image centerInSize: (CGSize) viewsize{    CGSize size = image.size;        CGFloat scalex = viewsize.width / size.width;    CGFloat scaley = viewsize.height / size.height;    CGFloat scale = MAX(scalex, scaley);        UIGraphicsBeginImageContext(viewsize);        CGFloat width = size.width * scale;    CGFloat height = size.height * scale;        float dwidth = ((viewsize.width - width) / 2.0f);    float dheight = ((viewsize.height - height) / 2.0f);        CGRect rect = CGRectMake(dwidth, dheight, size.width * scale, size.height * scale);    [image drawInRect:rect];        UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();        return newimg;}
按比例显示图片
+ (CGSize) fitSize: (CGSize)thisSize inSize: (CGSize) aSize{    CGFloat scale;    CGSize newsize = thisSize;        if (newsize.height && (newsize.height > aSize.height))    {        scale = aSize.height / newsize.height;        newsize.width *= scale;        newsize.height *= scale;    }        if (newsize.width && (newsize.width >= aSize.width))    {        scale = aSize.width / newsize.width;        newsize.width *= scale;        newsize.height *= scale;    }        return newsize;}+ (UIImage *) image: (UIImage *) image fitInSize: (CGSize) viewsize{    CGSize size = [self fitSize:image.size inSize:viewsize];        UIGraphicsBeginImageContext(viewsize);        float dwidth = (viewsize.width - size.width) / 2.0f;    float dheight = (viewsize.height - size.height) / 2.0f;        CGRect rect = CGRectMake(dwidth, dheight, size.width, size.height);    [image drawInRect:rect];        UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();        return newimg;}

按照视图比例填充

+ (UIImage *) image: (UIImage *) image fillSize: (CGSize) viewsize{    CGSize size = image.size;        CGFloat scalex = viewsize.width / size.width;    CGFloat scaley = viewsize.height / size.height;    CGFloat scale = MAX(scalex, scaley);        UIGraphicsBeginImageContext(viewsize);        CGFloat width = size.width * scale;    CGFloat height = size.height * scale;        float dwidth = ((viewsize.width - width) / 2.0f);    float dheight = ((viewsize.height - height) / 2.0f);        CGRect rect = CGRectMake(dwidth, dheight, size.width * scale, size.height * scale);    [image drawInRect:rect];        UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();        return newimg;}