1

UIImageを両方の次元で半分に均等に縮小するにはどうすればよいですか?

UIImageViewの2倍のサイズのUIImageがあり、塗りつぶしやスケーリングなどのコンテンツモードを使用せずに、同じサイズにしたいです。

4

1 に答える 1

6

自分自身を新しい画像にするだけです(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;
}
于 2012-08-10T21:41:01.733 に答える