我已经阅读了几篇文章,几乎每个人都建议使用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, 0, colorSpace, kCGImageAlphaPremultipliedLast);
CGContextClearRect(context, CGRectMake(0, 0, newSize.width, newSize.height));
CGContextDrawImage(context, CGRectMake(0, 0, newSize.width, newSize.height), image.CGImage);
CGImageRef scaledImage = CGBitmapContextCreateImage(context);
CGColorSpaceRelease(colorSpace);
CGContextRelease(context);
UIImage *newImage = [UIImage imageWithCGImage: scaledImage];
CGImageRelease(scaledImage);
我想知道一种良好的方法来调整图像大小、添加阴影、圆角,并仍然使我的图像移动平滑。
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, [UIScreen mainScreen].scale);
替代UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0);
。这应该可以解决你的问题! - kleo