如何将大型精灵png切割成较小的UIImages?

ohh*_*hho 9 iphone uiimage

例如,png文件是1200(h)x 50(w)像素,如何在6 秒内切割 png和负载UIImage,每个200(h)x 50(w).谢谢!

编辑 - 感谢Michal的回答,最终代码:

 CGImageRef imageToSplit = [UIImage imageNamed:@"huge.png"].CGImage;
 CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, CGRectMake(0, 0, 50, 50));

 UIImage *partOfImage = [UIImage imageWithCGImage:partOfImageAsCG]; 
 // ...

 CGImageRelease(partOfImageAsCG);
Run Code Online (Sandbox Code Playgroud)

Mic*_*hal 13

看看CGImageCreateWithImageInRect函数.它适用于CGImage,但很容易在那个和UIImage之间进行转换.

这是一个例子(从内存中输入,可能无法编译):

CGImageRef imageToSplit = [UIImage imageNamed:@"huge.png"].CGImage;
CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, CGRectMake(0, 0, 200, 50));
CGRelease(imageToSplit);
UIImage *partOfImage = [UIImage imageWithCGImage:partOfImageAsCG];
CGImageRelease(partOfImageAsCG);
Run Code Online (Sandbox Code Playgroud)

  • 你想要的是CGImageRelease()而不是CGRelease() (4认同)