我如何解决ios中的图像拉伸?

时间:2015-07-20 10:37:26

标签: ios objective-c image

我从网络服务器获取图片并设置了imageview但未正确显示。所以请给我解决方案它是如何完美的。enter image description here

我的代码是:

-(UIImage *)resizeImageToSize:(UIImage *)BigImage
{
    UIImage *newImage = nil;

    CGSize imageSize = BigImage.size;
    CGFloat width = imageSize.width;
    CGFloat height = imageSize.height;

    CGFloat targetWidth = imageSize.width;
    CGFloat targetHeight = imageSize.height;
    CGSize targetSize = CGSizeMake(targetWidth, targetHeight);

    CGFloat scaleFactor = 0.0;
    CGFloat scaledWidth = targetWidth;
    CGFloat scaledHeight = targetHeight;    
    CGPoint thumbnailPoint = CGPointMake(0.0,0.0);
    if (CGSizeEqualToSize(imageSize, targetSize) == NO) {

        CGFloat widthFactor = targetWidth / width;
        CGFloat heightFactor = targetHeight / height;

        if (widthFactor < heightFactor)
            scaleFactor = widthFactor;
        else
            scaleFactor = heightFactor;

        scaledWidth  = width * scaleFactor;
        scaledHeight = height * scaleFactor;

        if (widthFactor < heightFactor)
        {
            thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5;
        }
        else if (widthFactor > heightFactor)
        {
            thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5;
        }
    }

    UIGraphicsBeginImageContext(targetSize);
    CGRect thumbnailRect = CGRectZero;
    thumbnailRect.origin = thumbnailPoint;
    thumbnailRect.size.width  = scaledWidth;
    thumbnailRect.size.height = scaledHeight;

    [BigImage drawInRect:thumbnailRect];
    newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    if(newImage == nil)
        NSLog(@"could not scale image");
    //[delegate resizeImageToSize:newImage];
    return newImage;
}

图像没有正确调整大小,任何人都可以建议我在哪里缺乏。

由于

0 个答案:

没有答案