2010-09-03 23 views
8

Tôi đã xem phiên WDC2010 phiên 104 để sử dụng scrollviews và CATiledLayers, tất cả đều khá thú vị. Nhưng tôi không chắc về thế hệ hình ảnh xếp kề. Ví dụ này đã tạo ra các hình ảnh xếp kề ếch. Nhưng nếu tôi có một ứng dụng hình ảnh mà tôi đang chụp ảnh của riêng tôi, tôi sẽ cần phải tự tạo ra các bức ảnh và tôi không chắc chắn về cách tiếp cận tốt nhất để thực hiện.Tạo các ô động cho CATiledLayer

Phương pháp dễ nhất sẽ ngay sau khi chụp ảnh và lưu trữ ảnh, tôi thực hiện một số thao tác hình ảnh và tạo tất cả các loại gạch có thể tôi cần. Nhưng điều đó có nghĩa là đối với mỗi bức ảnh, tôi sẽ lưu trữ nhiều tệp hơn và sử dụng nhiều không gian tệp hơn.

Ngay trước khi tôi cần ảnh, tôi tạo các ô xếp thành thư mục tạm thời. Khi tôi đã hoàn thành phần xem, tôi có thể xóa thư mục tạm thời đó. Ít nhất tôi chỉ sử dụng không gian tệp phụ khi xem ảnh. Nhưng tôi muốn được quan tâm về việc tải hình ảnh để tạo ra gạch là liệu tôi có giới thiệu một sự chậm trễ đáng chú ý cho người dùng hay không.

Trả lời

1

Bạn sẽ không cần phải lưu các hình ảnh xếp kề. Về cơ bản, bạn sẽ tạo UIImage/CGImage dựa trên hiển thị trực tiếp.

Tôi đã làm điều gì đó tương tự ở đây và nó hoạt động khá tốt, tiền thưởng là nó rất hiệu quả với bộ nhớ. Tôi tự động tạo ra các CGImage (gạch nhỏ từ hình ảnh lớn) dựa trên hiển thị trực tràng và TiledLayer loại bỏ nó khỏi bộ nhớ khi nó đổ trực tràng. Tôi không bao giờ lưu CGImage vào một tập tin.

Những bất lợi với cách tiếp cận này là nó giới thiệu độ trễ trong hiển thị ... Không tốt cho trò chơi trên iphone 3g.

+0

Bất kỳ mã mẫu nào về cách bạn tạo CGImage từ một phần của UIImage? Nó có vẻ như vấn đề sẽ là bạn phải tải toàn bộ UIImage vào bộ nhớ, mà hình ảnh nhiều ngói giúp giải quyết. Cảm ơn! – Matt

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