For example, the png file is 1200 (h) x 50 (w) pixels, how can I cut the png and loads in 6 UIImage
s, each 200 (h) x 50 (w). Thanks!
EDIT - thanks to Michal's answer, the final code:
CGImageRef imageToSplit = [UIImage imageNamed:@"huge.png"].CGImage;
CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToSplit, CGRectMake(0, 0, 50, 50));
UIImage *partOfImage = [UIImage imageWithCGImage:partOfImageAsCG];
// ...
CGImageRelease(partOfImageAsCG);
You can resize your sprite using Edit > Sprite Size menu option.
Click on Slice to open the window to slice (break up) the sprite sheet.
( Shift+C key) you can indicate regions of your sprite and assign a name/label to that region with some extra user defined information. There is support to specify 9-slices/9-patches information.
Look at CGImageCreateWithImageInRect function. It works with CGImage, but it's easy to convert between that one and UIImage.
Here's an example (typed from memory, might not compile):
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With