私のアプリでは、高品質の画像が必要です。画像は Facebook の友達リストから読み込まれます。その画像が小さいサイズ (50 * 50) で読み込まれると、その品質は問題ありません。しかし、その画像をより大きなサイズ(280 * 280)で取得しようとすると、画像の品質が低下します。
丸い角 m の場合、次のようにします。
self.mImageView.layer.cornerRadius = 10.0;
self.mImageView.layer.borderColor = [UIColor blackColor].CGColor;
self.mImageView.layer.borderWidth = 1.0;
self.mImageView.layer.masksToBounds = YES;
次のコードを使用して画像 m を取得する場合:
self.mImageView.image = [self imageWithImage:profileImage scaledToSize:CGSizeMake(280, 280)];
- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, YES,0.0);
CGContextRef context = CGContextRetain(UIGraphicsGetCurrentContext());
CGContextTranslateCTM(context, 0.0, newSize.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextSetInterpolationQuality(context, kCGInterpolationLow);
CGContextSetAllowsAntialiasing (context, TRUE);
CGContextSetShouldAntialias(context, TRUE);
CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, newSize.width, newSize.height),image.CGImage);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
コードを何度かチェックしましたが、画像を完璧にする方法がわかりませんでした。では、この画質はどのように改善されるのでしょうか。事前にサンクス...