2009-06-26 35 views
5

Tôi đang phân lớp UIImageView để tạo ứng dụng dựa trên nền. Về cơ bản, tôi đang lấy một tập tin hình ảnh duy nhất và chia nó ra từng mảnh, và sau đó gán các mảnh cho gạch của tôi (UIImageViews), để chúng có thể được thao tác độc lập.tạo UIImageView với một phần của tệp hình ảnh

Cách tốt nhất để lấy một phần của hình ảnh và sử dụng hình ảnh đó để vẽ một hình ảnh UIImageView là gì? Tôi nghĩ về việc ghi đè drawRect và sử dụng CGAffineTransform, nhưng có vẻ như phải có cách đơn giản hơn để thực hiện việc này, có thể bằng cách chỉ định CGRect cho số UIImage được chuyển đến UIImageView, nhưng tôi không thấy API cho điều này.

Trả lời

11

Ở đây chúng ta đi:

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

Đừng quên để giải phóng imageRef sau khi tạo UIImage: CGImageRelease (imageRef) –

+0

cố định, nhờ Nikolai –

Các vấn đề liên quan