UIImageを両方の次元で半分に均等に縮小するにはどうすればよいですか?
UIImageViewの2倍のサイズのUIImageがあり、塗りつぶしやスケーリングなどのコンテンツモードを使用せずに、同じサイズにしたいです。
自分自身を新しい画像にするだけです(UIImageのカテゴリメソッドとして表現されます):
- (UIImage*)scaleToSize:(CGSize)size {
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0.0, size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, size.width, size.height), self.CGImage);
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}