使用UIImage扩展UIView而不影响UIImage的分辨率

时间:2014-12-19 06:31:33

标签: ios uiview uiimage scaling

我的问题是,当我放大UIView的{​​{1}}背景图像时,虽然原始图像是高分辨率且非常明亮,但它会产生反对齐并且非常模糊。

当我在UIView上制作动画以进行缩放时,会发生缩放过程。我使用UIView的transform属性缩放UIView

我用来使UIImage符合新规模的代码是:

-(UIImage *)imageResize :(UIImage*)image withSize:(CGSize)size
{

    CGSize newSize = self.bounds.size;
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);

    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];

    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();
    return newImage;

}

我正在用这一行指定背景颜色:

self.backgroundColor = [UIColor colorWithPatternImage:[self imageResize:img withSize:(CGSize)size]];

1 个答案:

答案 0 :(得分:0)

我想你应该尝试在这一行中应用屏幕分辨率:

UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);

应该是这样的

CGFloat screenScale = [[UIScreen mainScreen] scale];
UIGraphicsBeginImageContextWithOptions(newSize, NO, screenScale);