UIImage小+中+大像苹果邮件

Meh*_*tri 4 iphone objective-c uiimage ipad ios

是否有任何参考教程可以在小型或中型环境中获取图像大小.

我只是想知道根据宽度和高度计算图像大小,我们如何计算UIImage大小,当像小苹果邮件一样小,中等或大时.

这就像我们在Mail中附加图像时要求小,中,大..

Plz不提供这个,因为我已经经历了这个..

提前致谢.

Meh*_*tri 7

最后从许多解决方案中看到我得到了以下解决方案并根据此完成了代码.

我们可以获得如下图像.

Small = 320 pixels on longest edge JPEG
Medium = 640 pixels on longest edge JPEG
Large =  1296 pixels on longest edge JPEG
Run Code Online (Sandbox Code Playgroud)

其中typeOfImage = 0,1,2分别为小型,中型和大型.

-(CGSize)getImageWithRespectiveSize:(UIImage *)pImage withType:(NSInteger)typeOfImg
{
    CGSize pSize;
    if(typeOfImg == 0)
        pSize = [self getCGSizesOfImages:320 andImage:pImage];
    else if(typeOfImg == 1)
        pSize = [self getCGSizesOfImages:640 andImage:pImage];
    else if(typeOfImg == 2)
        pSize = [self getCGSizesOfImages:1296 andImage:pImage];
    else 
        pSize = CGSizeMake(pImage.size.width, pImage.size.height);

    return pSize;
}

-(CGSize)getCGSizesOfImages:(NSInteger)pIntPixels andImage:(UIImage *)pImage
{
    CGSize pSize;
    if(pImage.size.width > pImage.size.height)
    {
        CGFloat tmp = pImage.size.height/pImage.size.width*pIntPixels;
        pSize = CGSizeMake(pIntPixels, tmp);
    }
    else if(pImage.size.width < pImage.size.height)
    {
        CGFloat tmp = pImage.size.width/pImage.size.height*pIntPixels;
        pSize =  CGSizeMake(tmp, pIntPixels);       
    }   
    else
    {
        CGFloat tmp = pImage.size.height/pImage.size.width*pIntPixels;
        pSize =  CGSizeMake(tmp, pIntPixels);       
    }
    return pSize;
}
Run Code Online (Sandbox Code Playgroud)

并调用这样的功能

CGSize size = [self getImageWithRespectiveSize:imgOriginal withType:0];
Run Code Online (Sandbox Code Playgroud)