0
votes

Before the retina display came to iOS, I've developed some controls which are drawn using stretchable images and lots of core graphics code.

Now I tested it on a retina display device, and the graphics are misplaced and distorted. Everything else that's loaded with @2x suffix and UIImage imageNamed works fine.

I assume there must be some special considerations when using images in core graphics. For example, I obtain the CGImage from an UIImage very often.

Does anyone know?

1

1 Answers

1
votes

UIImage is a facade on top of CGImage (and IOSurface as a private API). Since CGImage has no concept of scale, it will reflect the actual size of the image's buffer--for @2x images, the CGImage dimensions will be twice what the UIImage's size are.