按比例调整UIImage的大小,然后裁剪

拉明·阿夫沙尔(Ramin Afshar)

我正在使用此代码来调整相机拍摄的图像的大小。我将其按比例缩小为缩略图,但是我想将其裁剪为60x60正方形格式。我尝试合并:

CGImageRef imageRef = CGImageCreateWithImageInRect(CGImage, rect); 

但是我没有设法使其正常工作。如何使用Core Graphics来做到这一点?

- (UIImage *) resizeCapturedImage:(UIImage *) img toWidth:(float) w{

    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
    CGContextRef ctx = CGBitmapContextCreate(NULL,w,w, 8, 0, colorspace,kCGImageAlphaPremultipliedFirst);

    CGContextDrawImage(ctx, CGRectMake(0, 0, w,img.size.width*w/img.size.height), img.CGImage);
    CGImageRef thumb = CGBitmapContextCreateImage(ctx);
    UIImage *final = [UIImage imageWithCGImage:thumb scale:1.0 orientation:UIImageOrientationRight];

    return final;
}
iPatel

在这里,我将裁剪和调整大小图像的逻辑都放入其中,并根据您的要求使用它。

对于获取图像:

UIImage *croppedImg = nil;
CGRect cropRect = CGRectMake(AS YOu Need); // set frame as you need
croppedImg = [self croppIngimageByImageName:self.imageView.image toRect:cropRect];

返回以下方法UIImage根据需要的图像大小

- (UIImage *)croppIngimageByImageName:(UIImage *)imageToCrop toRect:(CGRect)rect
    {
        //CGRect CropRect = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height+15);

        CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect);
        UIImage *cropped = [UIImage imageWithCGImage:imageRef];
        CGImageRelease(imageRef);

        return cropped;
    }

在这里,您将获得通过上述方法返回的裁剪图像;

或调整

并使用以下具有特定高度图像宽度方法进行调整大小:

+ (UIImage*)resizeImage:(UIImage*)image withWidth:(CGFloat)width withHeight:(CGFloat)height
{
    CGSize newSize = CGSizeMake(width, height);
    CGFloat widthRatio = newSize.width/image.size.width;
    CGFloat heightRatio = newSize.height/image.size.height;

    if(widthRatio > heightRatio)
    {
        newSize=CGSizeMake(image.size.width*heightRatio,image.size.height*heightRatio);
    }
    else
    {
        newSize=CGSizeMake(image.size.width*widthRatio,image.size.height*widthRatio);
    }


    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImage;
}

此方法返回NewImage,具有所需的特定大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按宽度按比例调整UIImage的大小

来自分类Dev

按宽度按比例调整UIImage的大小

来自分类Dev

UIImage调整大小并裁剪以适合框架

来自分类Dev

在Firefox中按比例调整图像大小

来自分类Dev

按比例调整表格大小以适合div

来自分类Dev

在Webapp中按比例调整div的大小

来自分类Dev

如何按比例调整标签大小

来自分类Dev

按比例调整UIStackView中按钮的大小

来自分类Dev

如何根据设备大小和比例调整UIImage的大小?

来自分类Dev

如何调整UIImageView边界的大小以裁剪圆形的UIImage?

来自分类Dev

如何调整大小然后使用画布裁剪图像

来自分类Dev

根据屏幕大小按比例调整文本大小

来自分类Dev

使用jQuery按比例调整iframe的大小以适合DIV

来自分类Dev

具有自动布局的NSSplitView,防止按比例调整大小

来自分类Dev

调整UIBarButtonItem的Imageview的大小,以便按比例缩小图像(iOS)

来自分类Dev

在Java中使用BorderLayout按比例调整大小

来自分类Dev

JS函数按比例调整背景大小无法正常工作

来自分类Dev

具有自动布局的NSSplitView,防止按比例调整大小

来自分类Dev

WPF:按比例调整两个按钮的大小

来自分类Dev

在 Xamarin Forms 中按比例调整框视图大小的动画

来自分类Dev

在窗口调整大小时按比例调整div的宽度和高度

来自分类Dev

调整画布大小而不裁剪

来自分类Dev

KonvaJS 裁剪和调整大小

来自分类Dev

上载多个文件,然后使用图像魔术师裁剪和调整大小

来自分类Dev

UIImage调整宽高比填充和裁剪

来自分类Dev

根据屏幕比例调整大小

来自分类Dev

根据宽度调整UIImage的大小

来自分类Dev

调整pictureBox的大小与Form的大小成比例

来自分类Dev

当窗口最大化时,如何使所有控件相应地按比例调整大小?

Related 相关文章

  1. 1

    按宽度按比例调整UIImage的大小

  2. 2

    按宽度按比例调整UIImage的大小

  3. 3

    UIImage调整大小并裁剪以适合框架

  4. 4

    在Firefox中按比例调整图像大小

  5. 5

    按比例调整表格大小以适合div

  6. 6

    在Webapp中按比例调整div的大小

  7. 7

    如何按比例调整标签大小

  8. 8

    按比例调整UIStackView中按钮的大小

  9. 9

    如何根据设备大小和比例调整UIImage的大小?

  10. 10

    如何调整UIImageView边界的大小以裁剪圆形的UIImage?

  11. 11

    如何调整大小然后使用画布裁剪图像

  12. 12

    根据屏幕大小按比例调整文本大小

  13. 13

    使用jQuery按比例调整iframe的大小以适合DIV

  14. 14

    具有自动布局的NSSplitView,防止按比例调整大小

  15. 15

    调整UIBarButtonItem的Imageview的大小,以便按比例缩小图像(iOS)

  16. 16

    在Java中使用BorderLayout按比例调整大小

  17. 17

    JS函数按比例调整背景大小无法正常工作

  18. 18

    具有自动布局的NSSplitView,防止按比例调整大小

  19. 19

    WPF:按比例调整两个按钮的大小

  20. 20

    在 Xamarin Forms 中按比例调整框视图大小的动画

  21. 21

    在窗口调整大小时按比例调整div的宽度和高度

  22. 22

    调整画布大小而不裁剪

  23. 23

    KonvaJS 裁剪和调整大小

  24. 24

    上载多个文件,然后使用图像魔术师裁剪和调整大小

  25. 25

    UIImage调整宽高比填充和裁剪

  26. 26

    根据屏幕比例调整大小

  27. 27

    根据宽度调整UIImage的大小

  28. 28

    调整pictureBox的大小与Form的大小成比例

  29. 29

    当窗口最大化时,如何使所有控件相应地按比例调整大小?

热门标签

归档