Image Manipulation

To display an image within a cell, you could just resize the large image of the item from the image store. However, doing so would incur a performance penalty because a large number of bytes would need to be read, filtered, and resized to fit within the cell. A better idea is to create and use a thumbnail of the image instead.

To create a thumbnail of a BNRItem image, you are going to draw a scaled-down version of the full image to an offscreen context and keep a pointer to that new image inside a BNRItem instance. You also need a place to store this thumbnail image so that it can be reloaded when the application launches again.

In Chapter 12, we put the full-sized images in the BNRImageStore so that they can be flushed if ...

Get iOS Programming: The Big Nerd Ranch Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.