iOS 修改image尺寸

在一次平铺展示中,UI给的图尺寸不对,于是我自己修改了图片的尺寸,代码如下:

-(UIImage *)imageResize :(UIImage*)img andResizeTo:(CGSize)newSize
{
    CGFloat scale = [[UIScreen mainScreen]scale];

    //UIGraphicsBeginImageContext(newSize);
    UIGraphicsBeginImageContextWithOptions(newSize, NO, scale);
    [img drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

在使用中如下调用:

- (UIView *)separatorView {
    if (!_separatorView) {
        _separatorView = ({
            UIView *view = [[UIView alloc] init];
            UIImage *image = [UIImage imageNamed:@"红包锯齿竖"];
            view.backgroundColor = [UIColor colorWithPatternImage:[self imageResize:image andResizeTo:CGSizeMake(3, 7)]];
            view;
        });
    }
    return _separatorView;
}

这样尺寸就对了。

其中,

UIGraphicsBeginImageContextWithOptions

是Quartz2D的方法,Quartz2D是iOS提供的强大的画图工具,C语言风格。


版权声明:本文为icefishlily原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。