Я хочу сделать округленное фото из Facebook, но изображение всегда масштабируется.Сделайте округленное изображение с раскадровки
Так я Раскадровка со следующими параметрами: http://prntscr.com/5bpuqy
Align центр X, Y центра выравнивания, ширина равна 72, высота равна 72. Я понимаю, что проблема может быть в 72/72, но режим изображения в раскадровке «Aspect Fit»
Я вызываю свои методы для загрузки изображения по URL-адресу, а затем делаю его загнанным в угол радиусом.
// call
[UIImage setRoundImageView:self.p_photo WithURL:[p_user fullURL] withCornerSize:37];
+ (void)setRoundImageView:(UIImageView *)imageView WithURL:(NSURL *)url withCornerSize:(CGFloat)corner
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[[SDWebImageManager sharedManager] downloadImageWithURL:url
options:0
progress:^(NSInteger receivedSize, NSInteger expectedSize) {
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
if (image && finished)
{
[self setRoundImage:image forImageView:imageView withCornerSize:corner];
}
}];
});
}
+ (void)setRoundImage:(UIImage *)image forImageView:(UIImageView *)imageView withCornerSize:(CGFloat)corner
{
dispatch_async(dispatch_get_main_queue(), ^{
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, [UIScreen mainScreen].scale);
[[UIBezierPath bezierPathWithRoundedRect:imageView.bounds
cornerRadius:corner] addClip];
[image drawInRect:imageView.bounds];
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
});
}
Чтобы обойти углы вашего изображения, используйте ответ из этого вопроса: http://stackoverflow.com/questions/1509547/uiview-with-rounded-corners –
Он округлен, хорошо, все проблемы, это изображение выглядит scaled –
Используйте ответ в этом вопросе SO для округления обзора, посмотрите, исправляет ли он проблему масштабирования. –