加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – UIImage与圆角

发布时间:2020-12-15 02:04:16 所属栏目:百科 来源:网络整理
导读:我已经读了几篇文章几乎所有人都建议使用QuartzCore / QuartzCore.h与layer.cornerRadius 我已经尝试了这种方法和一些更多的方法。 那么一旦图像不动,一切都可以正常运行。 但在我的项目中,我总是移动我的图像。 如果我添加角半径或阴影,图像运动不再平滑
我已经读了几篇文章几乎所有人都建议使用QuartzCore / QuartzCore.h与layer.cornerRadius

我已经尝试了这种方法和一些更多的方法。

那么一旦图像不动,一切都可以正常运行。

但在我的项目中,我总是移动我的图像。
如果我添加角半径或阴影,图像运动不再平滑。而且看起来很可爱!

那就是我调整图像大小的方式:

CGSize newSize = CGSizeMake(200*height/image.size.height,280);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(nil,newSize.width,newSize.height,8,colorSpace,kCGImageAlphaPremultipliedLast);
CGContextClearRect(context,CGRectMake(0,newSize.height));
CGContextDrawImage(context,newSize.height),image.CGImage);
CGImageRef scaledImage = CGBitmapContextCreateImage(context);
CGColorSpaceRelease(colorSpace);
CGContextRelease(context);
UIImage *newImage = [UIImage imageWithCGImage: scaledImage];
CGImageRelease(scaledImage);

我想知道一个很好的方式来调整我的形象,添加阴影,角半径,还有我的图像的顺利移动。

解决方法

// Get your image somehow
UIImage *image = [UIImage imageNamed:@"image.jpg"];

// Begin a new image that will be the new image with the rounded corners 
// (here with the size of an UIImageView)
 UIGraphicsBeginImageContextWithOptions(imageView.bounds.size,NO,[UIScreen mainScreen].scale);

 // Add a clip before drawing anything,in the shape of an rounded rect
  [[UIBezierPath bezierPathWithRoundedRect:imageView.bounds 
                        cornerRadius:10.0] addClip];
 // Draw your image
[image drawInRect:imageView.bounds];

 // Get the image,here setting the UIImageView image
  imageView.image = UIGraphicsGetImageFromCurrentImageContext();

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

尝试移动这个代码,据我记得,我一直使用这一点,使一个圆角的图像,你可以移动到目标。但它似乎规模很好…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读