UIViewContentModeScaleAspectFit iphone SDK дает плохое качество изображения - PullRequest
2 голосов
/ 20 октября 2010

Надеюсь, быстрый?Я создаю пользовательский uitableviewcell и добавил imageview.У меня есть несколько изображений PNG размером около 200x200.Я хочу создать миниатюру для размещения в виде таблицы, но когда я изменяю размер изображения, это приводит к ухудшению качества изображения.

Я использую UIViewContentModeScaleAspectFit, чтобы изменить его размер до кадра 50x50.

Poor quality image from resize

Должен ли я назвать лучший размер изменения размера для каждого изображения перед тем, как поместить его в ячейку таблицы?В каждой таблице будет около 20-40 изображений, поэтому я не хочу перегружать устройство !!

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 20 октября 2010

Масштабирование изображений самостоятельно с помощью CoreGraphics даст вам больший контроль над качеством, но в первую очередь лучше всего подобрать изображения, соответствующие размеру вашей таблицы - меньше работы программного обеспечения и полный контроль над изображениями.Внешний вид.

Если вы все еще хотите изменить их размер в Кварце, вот один из способов сделать это:

UIImage* originalThumbnail = [UIImage imageWithContentsOfFile:<PATH_TO_IMAGE>];

CGSize originalSize = [originalThumbnail size];
CGSize cropSize = { 50, 50 };

CGRect cropRect = CGRectMake(abs(cropSize.width - originalSize.width)/2.0, abs(cropSize.height - originalSize.height)/2.0, cropSize.width, cropSize.height);

CGImageRef imageRef = CGImageCreateWithImageInRect([originalThumbnail CGImage], cropRect);

// here's your cropped UIImage
UIImage* croppedThumbnail = [UIImage imageWithCGImage:imageRef];  
CGImageRelease(imageRef);

Вы можете сделать это один раз, если это возможно, т.е.раз, когда вы создаете свой UITableViewCell.

...