2

私は「ジグソーゲーム」を作成しています。そのために、単一の画像を次のように4X4マトリックスに分割しました。

ここに画像の説明を入力してください

これで、16の異なるimageViewができました。これらを組み合わせて、1つの画像にし、データベースに保存する必要があります。したがって、4x4のマトリックス画像を1つの画像に結合することは可能ですか。

4

1 に答える 1

2

それはそうです、そしてそれはかなり簡単です。

UIGraphicsBeginImageContext(fullSize);
CGContextRef context = UIGraphicsGetCurrentContext();

for (int i = 0; i < 4; i++) {

    for (int j = 0; j < 4; j++) {

        UIImage *image = [self imageAtRow:i column:j];
        CGFloat imageSize = 40;
        CGRect imageRect = CGRectMake (imageSize * i, imageSize * j, imageSize, imageSize);
        CGContextDrawImage(context, imageRect, image.CGImage);  

    }

}

UIImage *result = UIGraphicsGetImageFromCurrentImageContext();  
UIGraphicsEndImageContext();

result作成したフルサイズの画像になります(4x4で40サイズの画像の場合は160x160)

編集

UIGraphicsBeginImageContextWithOptions(fullSize, NO, 0.0);Retinaディスプレイをサポートするために使用

于 2013-01-28T12:32:59.577 に答える