• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - ImageContext 返回扭曲的图像

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:46:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试使图像的角变圆,但 ImageContext 中的图像变形了。

这是我正在采取的步骤:

- (UIImage *)decodeBase64ToImageNSString *)strEncodedData
{
    NSURL *url = [NSURL URLWithString:strEncodedData];
    NSData* data = [[NSData alloc] initWithContentsOfURL:url];
    UIImage* image = [[UIImage alloc] initWithData:data];
    UIImage* croppedImage = [self makeRoundedImage:image];
    return croppedImage;
}

- (UIImage *)makeRoundedImageUIImage *) image
{

    CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);

    UIGraphicsBeginImageContext(frame.size);
    //[[UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, image.size.width, image.size.height) cornerRadius:10.0] addClip];
    [image drawInRect:frame];

    // Get the image
    UIImage *croppedImage = UIGraphicsGetImageFromCurrentImageContext();

    // Lets forget about that we were drawing
    UIGraphicsEndImageContext();

    return croppedImage;
}



Best Answer-推荐答案


你可以检查这个方法

-(UIImage *)roundedImageUIImage *) roundImage 
                      radius: (float) radius;
{
  CALayer *imageLayer = [CALayer layer];
  imageLayer.frame = CGRectMake(0, 0, roundImage.size.width, roundImage.size.height);
  imageLayer.contents = (id) roundImage.CGImage;

  imageLayer.masksToBounds = YES;
  imageLayer.cornerRadius = radius;

  UIGraphicsBeginImageContext(roundImage.size);
  [imageLayer renderInContext:UIGraphicsGetCurrentContext()];
  UIImage *finalRoundedImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

  return finalRoundedImage;
}

关于ios - ImageContext 返回扭曲的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423791/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap