根据一定的宽高向服务器上传图片,上下左右有白边,有知道怎么回事的么,

+ (UIImage *)scaleToSize:(UIImage *)image
{
    UIImage *newimage;
    if (nil == image) {
        newimage = nil;
    }
    else
    {
        CGSize newSize = CGSizeMake(320.f, 480.f);// 480*320 根据4屏幕宽高截取图片
        CGSize oldsize = image.size;
        CGRect rect;
        if (newSize.width/newSize.height > oldsize.width/oldsize.height)
        {
            rect.size.width = newSize.height*oldsize.width/oldsize.height;
            rect.size.height = newSize.height;
            rect.origin.x = (newSize.width - rect.size.width)/2;
            rect.origin.y = 0;
        }
        else
        {
            rect.size.width = newSize.width;
            rect.size.height = newSize.width*oldsize.height/oldsize.width;
            rect.origin.x = 0;
            rect.origin.y = (newSize.height - rect.size.height)/2;
        }
        UIGraphicsBeginImageContext(newSize);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
        UIRectFill(CGRectMake(0, 0, newSize.width, newSize.height));//clear background
        [image drawInRect:rect];
        newimage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
    }
    return newimage;
}![图片描述][1]
阅读 3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题