2009-06-26 11 views
5

Sono sottoclasse di UIImageView per creare un'applicazione basata su tile. Essenzialmente, sto prendendo un singolo file di immagine e lo suddivido in pezzi, e quindi assegnando i pezzi alle mie tessere (UIImageViews), in modo che possano essere manipolati in modo indipendente.creare UIImageView con porzione di file di immagine

Qual è il modo migliore per prendere una porzione di un'immagine e utilizzarla per disegnare uno UIImageView? Ho pensato di sovrascrivere drawRect e di utilizzare CGAffineTransform, ma sembra che ci dovrebbe essere un modo più semplice per farlo, magari specificando uno CGRect allo UIImage che viene passato allo UIImageView, ma non vedo un'API per questo.

risposta

11

Qui andiamo:

UIImage* img = [UIImage imageNamed:@"myImage.jpg"]; 
CGRect imgFrame = CGRectMake(x, y, tileWidth, tileHeight); 
CGImageRef imageRef = CGImageCreateWithImageInRect([img CGImage], imgFrame); 
UIImage* subImage = [UIImage imageWithCGImage: imageRef]; 
CGImageRelease(imageRef); 
+0

Non dimenticate di rilasciare l'imageRef dopo aver creato l'UIImage: CGImageRelease (imageRef) –

+0

fisso, grazie Nikolai –

Problemi correlati