Just to make sure, you config.lua has these two lines at the very top:
–calculate the aspect ratio of the device:
local aspectRatio = display.pixelHeight / display.pixelWidth
The second line is critical to the functioning of the config.lua.
Assuming it’s there, what’s going to happen here is that on the iPhone 6, you will have a virtual screen that is 800 content units (points) wide and 1423 points high. For all phones, you will get the 800 width and the content height will get calculated for you. For iPads, you will get a 1200 point high screen and the width gets calculated (which will be 900 points).
To use the @2x images, you have to be using display.newImageRect() not display.newImage(). Corona SDK will look at the real screen and compute a scale factor based on your content area. In this case, the device is a physical 750px and you’re using 800 points. 750/800 is 0.9375. That is less than < the 1.3 you defined in your content area, so given:
icon.png and icon@2x.png
display.newImageRect() will use icon.png. On an iPhone 6 Plus, being a 1080 pixel device, you have a scale factor of 1.35. It will use your @2x version of the image. If icon.png is 640x960, icon@2x.png should be 1280x1920.
Now for display.newImageRect() you have to pass the width and height. So if you call:
local icon = display.newImageRect(“icon.png”, 640, 960)
It will load the image as a 640x960 image and be put on an 800x1423 screen (iPhone 6) which is going to be smaller than the screen. If you tell display.newImageRect() to use 800, 1200, then it will fill the screen width wise and Corona will have to enlarge it a bit. On the iPhone 6 plus, it will use the larger image and shrink it up or down to make it fit the relative screen.
Rob
Generally you plan your images to be some proportion of the defined content area.