iphone - 如何将一张图像分割成多个部分?

标签 iphone cocoa-touch image-manipulation uiimage

任何人都可以向我解释如何在 iPhone 操作系统中将图像(均等和不等)分割成多个部分吗?如果您提供示例代码,这对我很有帮助。

最佳答案

我改编了一些从 Bill Dudney 中得到的代码的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];

关于iphone - 如何将一张图像分割成多个部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007078/

相关文章:

iphone - 从 UIImageView 中删除图像

iphone - 从 XCODE 中使用 SVN 的 BLAME 命令

objective-c - ARC 和 CFRelease?

ios - isAvailableForServiceType 方法返回 NO 怎么办

iOS - 某些图像未显示在启动屏幕中

javascript - 在 HTML 文件内的图像上创建十字

iphone - 如何检索保存在临时位置的图像

ios - iOS App因审核小组误认为其用途而被拒绝。我要重新提交吗?

iphone - 有没有办法获取在我的 UIWebView 中播放的视频的长度?我可以在某个位置开始我的电影吗?

javascript - jqzoom 在多个图像上