我需要在多个较小的图像中拆分一个大图像(约10000px高度),以将其用作OpenGL的纹理,下面是我现在的操作方式,任何人都想更快地完成它,因为花了很长时间。

NSArray *images = [NSArray alloc] initWith
for (int i = 0; i<numberOfImages; i++){

    int t = i*origHeight;
    CGRect fromRect = CGRectMake(0, t, origWidth, origHeight); // or whatever rectangle

    CGImageRef drawImage = CGImageCreateWithImageInRect(sourceImage.CGImage, fromRect);

    UIImage *newImage = [UIImage imageWithData:UIImageJPEGRepresentation([UIImage imageWithCGImage:drawImage],1.0)];

    [images addObject:newImage];

    CGImageRelease(drawImage);
}

最佳答案

您可以在将它们分开之前进行预分割,即使用ImageMagickconvert命令与brew一起使用

http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=15771

关于objective-c - 分割一个大的UIImage供纹理使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12591581/

10-15 15:13