Graphics Reference
In-Depth Information
NSSize size = [image size ];
NSArray *representations = [image representations ];
if ([representations count ])
{
NSBitmapImageRep *representation = representations[ 0 ];
size. width = [representation pixelsWide ];
size. height = [representation pixelsHigh ];
}
NSRect rect = NSMakeRect ( 0.0 , 0.0 , size. width , size. height );
CGImageRef imageRef = [image CGImageForProposedRect :&rect
context : NULL hints : nil ];
//calculate rows and columns
NSInteger rows = ceil (size. height / tileSize);
NSInteger cols = ceil (size. width / tileSize);
//generate tiles
for ( int y = 0 ; y < rows; ++y)
{
for ( int x = 0 ; x < cols; ++x)
{
//extract tile image
CGRect tileRect = CGRectMake (x*t ileSize, y*tileSize,
tileSize, tileSize);
CGImageRef tileImage = CGImageCreateWithImageInRect (imageRef,
tileRect);
//convert to jpeg data
NSBitmapImageRep *imageRep = [[ NSBitmapImageRep alloc ]
initWithCGImage :tileImage];
NSData *data = [imageRep representationUsingType :
NSJPEGFileType properties : nil ];
CGImageRelease (tileImage);
//save file
NSString *path = [outputPath stringByAppendingFormat :
@"_%02i_%02i.jpg" , x, y];
[data writeToFile :path atomically : NO ];
}
}
}
return 0 ;
}
Search WWH ::




Custom Search