2009-06-26 13 views
5

Estoy subclasificando UIImageView para crear una aplicación basada en mosaico. Básicamente, tomo un solo archivo de imagen y lo descompongo en pedazos, y luego asigno las piezas a mis teselas (UIImageViews), para que puedan manipularse de forma independiente.crear UIImageView con parte del archivo de imagen

¿Cuál es la mejor manera de tomar una parte de una imagen y usarla para dibujar un UIImageView? Pensé en sobreescribir drawRect y usar CGAffineTransform, pero parece que debería haber una manera más simple de hacerlo, quizás especificando un CGRect al UIImage que se pasa al UIImageView, pero no veo una API para esto.

Respuesta

11

Aquí vamos:

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

No se olvide de liberar el imageRef después de crear el UIImage: CGImageRelease (imageRef) –

+0

fijo, gracias Nikolai –

Cuestiones relacionadas