Как я могу разделить изображение на несколько частей?

Может ли любой орган объяснить мне, как изображение может (одинаково и неравномерно) разбиваться на несколько частей в iPhone OS. Мне очень полезно, если вы предоставите образец кода.

iphone,cocoa-touch,image-manipulation,uiimage,

3

Ответов: 2


8 ов

Я адаптированный код я получил из Билла Dudney «s Core Animation Book , чтобы выполнить эту задачу:

- (NSArray*)splitImageIntoRects:(CGImageRef)anImage{

    CGSize imageSize = CGSizeMake(CGImageGetWidth(anImage), CGImageGetHeight(anImage));

    NSMutableArray *splitLayers = [NSMutableArray array];

            kXSlices = 3;
            kYSlices = 3;        

    for(int x = 0;x < kXSlices;x++) {
        for(int y = 0;y < kYSlices;y++) {
            CGRect frame = CGRectMake((imageSize.width / kXSlices) * x,
                                     (imageSize.height / kYSlices) * y,
                                     (imageSize.width / kXSlices),
                                     (imageSize.height / kYSlices));

            CALayer *layer = [CALayer layer];
            layer.frame = frame;                                                    
            CGImageRef subimage = CGImageCreateWithImageInRect(drawnImage, frame);
            layer.contents = (id)subimage;
            CFRelease(subimage);
            [splitLayers addObject:layer];
        }
    }
    return splitLayers; 
}

Примечание. Чтобы получить CGImageRef:

CGImageRef anImage = [myUIImage CGImage];

1

Если вы просто хотите, чтобы регион был определен, NSRectто этот код должен это сделать. Если вам нужны более сложные области (не прямоугольные), то пример Cropped Image Apple включает код для обрезки кривой Безье (см. -croppedImageCroppingImageView.m).

iphone, какао касание, изображения манипуляции, UIImage,
Похожие вопросы
Яндекс.Метрика