The resolution of pictures of IOS app - ios

My current resolution of all the pictures (all of png format) in my app is 300, which I realized is too high,
I heard that 72 ppi will be enough, but however I just wanna make the best vision effect of these pictures,
so what is the best resolution of pictures for IOS app? both Retina and former screens.
And one more question, I tried to save my pictures in photoShop to 72 ppi,
but after I drag that picture to my XCode project, XCode tells that the resolution is 71 pixels/inch,
would it be a problem?
THanks a lot!

The answers to your questions can be found here.
But in short, 72 dpi is what you want. Retina screen imagery is termed 'High Definition' but is simply twice the size as non Retina imagery, i.e. your app icon is nominally 57x57 pixels but your retina variant of the same icon is 114x114 pixels (both images being 72dpi).
Re: your photoshop query. I have no idea about photoshop itself but in this instance I can't imagine why an image less than 72dpi would cause too great an issue. Photoshop gurus will be able to tell you why this is happening.

Related

Responsive website images turn blurry on iPhone (iOS)

I have built responsive website which works great on all devices except iOS.
On iOS devices, my background images get blurry.
Here is link to my website. http://www.idynxschool.com/vesco/
You can view it on iPhone and you will find blurry images. Is this something to do retina ready images?
Any solution will be really appreciated.
Thanks
In Safari on iOS, there is a known limitation when displaying large PNG and GIF images. The issue is triggered by the overall number of pixels in the image, so even if an image is narrow, you can experience blurriness if the image is tall enough.
This affects both the iPad and iPhone and affects all models of device. However, the exact image size that triggers the issue varies from iPhone to iPad and between models. For example, if you’re creating an image for iPhone 6 Plus that is 1080px wide, then the image can be up to ~4800px tall before blurriness would occur.
If you use JPG instead of PNG or GIF, then you may see less blurriness since the limit is increased for JPG images. For PNG or GIF images, however, the only way to work around this issue at current is to reduce the dimensions of the image until they’re below the limit that causes the issue.
Answer found: https://support.invisionapp.com/hc/en-us/articles/204660949-Why-are-my-images-in-iOS-blurry-

Why do I need #1x, #2x and #3x iOS images?

Why do we need these 3 particular image types?
If I have a button on my app with a background image say, 50 pixels x 50 pixels, why do I need 3 versions of this image? What's stopping me from just making one image that's much higher in res, say, 700x700 so when it shrinks down on any iPhone it won't fall under the max res the device would want?
Only thing I can think of is it just takes up more space, but for simple apps / a simple button it seems like it wouldn't cause any issues. I've tried it on a few devices and see no difference between them when I simulate it and do this method. However, as I dive more into apps and stuff I'm sure there is substance behind this technique.
If you don't have the exact size, there are two things that can happen:
Upscaling
#3x or #2x can be upscaled from #1x but usually the visual result is blurry, with thick lines and doesn't look good. Upscaling #3x from #2x can be even worse because subpixels must be used.
Downscaling
In general, the results are much better than with upscaling, however, that doesn't apply for all the images. If you have a 1px border on a #3x image, after downscaling it to #1x the border won't be visible (0.33px). The same applies for any small objects in the image. Downscaling destroys all details.
In general - for an image to look perfect, you want to avoid both downscaling and upscaling. You can always go with only #2x or #3x images and add other scales only if you see visual problems. Using higher resolution won't improve downscaling. High resolutions are used only to avoid upscaling. Downscaling from a high scale (e.g. #100x) to #1x won't create better results than downscaling from #3x.
You need 3 kinds of images in Image Assets because in terms of Scaling or Pixels
There are 3 kinds of Apple Devices (iPhone and iPad) that is
Normal device which terms to 1 pixel = 1 point#1x (Older iPhone and iPad devices)
Retina device which terms to 4 pixels(2 x 2) = 1 point#2x (iPhone 4+)
Retina iPhone6 and iPad which terms to 9 pixels (3 x 3) = 1 point#3x (iPhone6+)
Thus for providing same image in 3 scales iOS decides which image to show for which devices.Hope could help you understand this.
EDIT
It is because if you provide one high resolution graphic it would be waste of space on a users' device. Thanks to app slicing the device will download (from App Store) only the parts that actually fits the device (so retina device won't download non retina graphics). This is why Apple created assets catalogs and this kind of rules to follow. They describe it in their sessions.
In short it is to decrease memory/disk usage so it is all about increasing performance and user experience
First of all, you need to know points vs. pixels behaviour. On non-retina devices, point vs pixels ratio is 1point=1pixel. On retina devices, there are two ratios: 1point = 2x2 pixels depending on screen size, and 1point=3x3 pixels, because of pixels density, that is quadrupled watching on non retina. That's why you need this 3 types of images, to be shown on its highest resolution.
Complementing what Sulthan said:
Because you didn't propitiated proper images for a specific device, it has to downscale or upscale. These processes will use up your memory and processing, resulting maybe in a decrease of performance, depending on how many images at a time you're doing it and the size of image.
If you provide only one big image you encounter several problems:
Downscaling leads to the loss of quality (even if it is not huge)
It takes more computational power to downscale the image than to display the already pre-rendered image
The size of your binary gets increased and you are not able to benefit from app thinning which is introduced with iOS 9.
As you can see, producing only one image will impact the performance and quality of your app and it will disproportionately hit those with older devices. This is because:
They need to downscale more. Also, the performance of their devices is not as good as that of the new ones, so they are much more likely to notice the lags with your app
They do not have as much storage space so you really want to be able to use app thinning to help them
The loss of quality will be the highest for them and considering the fact that the resolution of their devices is low, they will notice it.
Due to this users are likely to be unhappy and this is bad for you. Because, from my experience, unhappy users are 10 times more likely to rate your app than happy users. You don't want that, do you? :)

How is an image being processed to appear in iOS?

Taking help from here, I know that the resolution of iPhone 6 is 1334x750 and the density or the pixels per inch is 326 ppi. So, would I be adding an image with those measures to make it appear as is or maybe even the sharpest it could on the iPhone 5?
Some cases:
What happens if I add an image with a resolution of 1334x750 but with a density of , say, 100?
What happens if I add an image with a density of 326 ppi but with a resolution of , let's say, 1900x1500?
I have picked these values at random. I know the quality of the image would be affected a lot in these cases but I'm just curious how is the image being processed to be viewed on the phone.
Thanks in advance.
P.S. Feel free to edit the tags, I just added what I felt was appropriate.

iOS graphic resolution sizes

I have read countless reference sites but cannot find a simple answer.
I wish to have a bmp graphic on the screen and willing to have multiple versions so as to satisfy all screen sizes and resolutions. What sizes do I put into;
iPhone 1x, 2x, Retina 4 2x 3x?
iPad 1x, 2x?
If anyone refers me to this site http://www.iosres.com/ it seems to be of no help to me as graphics still appear as the incorrect size, often oversized, sometimes bordered.
Heres a nice handy reference for IOS screen resolution sizes.
You can get a high res PDF copy at the link below
http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

iOS apps - why include both #2x and low-res images?

This has been bugging me for a while. I don't understand why one should include low-res images. If a 3GS, for example, can't find the low-res image, it just uses the #2x version anyway and displays it at it's native resolution. So why add to the filesize of your app by including all the half-res images?
Halley had it right. The system does not automatically downsample #2x images to non-retina size, and it shouldn't. The 3Gs does not have enough memory to load retina images. It will likely choke your app and cause it to exit with an out of memory error.
The problem gets even worse with the iPad 1. The iPad 1 has very low memory relative to it's screen size, and if you tried to make it load retina sized images, it would choke and die very quickly.
To scale an image the system has to load it at full size and do a complex scaling operation each time it draws it. It's the worst of all possible worlds - slower, 4x as much memory, and the images don't look as good.
In most cases, you can make an icon look better when created at the low-res resolution, instead of having the system scale it. If you don't care too much about how your icons look when scaled, then using the #2x version only is probably fine.
The other posters mentioned some excellent points, but here's one more for posterity: as mentioned several times in http://developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW1, a 2x image may be more detailed. In other words, the low-res image isn't simply a scaled-down version of the 2x image; the 2x image may contain details not present in the smaller image.
#2x filenames are intended for Retina Display enabled devices.
If you intend to use them for display on the iPhone 3GS make sure to properly test that they look as acceptable as the low-res image Apple wants you to use.
The reason being, is when images are scaled up if there is no #2x available, they can become pixelated and blurry, so you would prob think that making the original image twice as big would solve the problem.
But no, because the retina devices would still scale it up (in my experience) and non retina devices would display the image incorrectly.
It's got a lot to do with the quality standards Apple wants for the Apps on their app store

Resources