4 votes

Résolution de l'écran et résolution de l'image

J'ai une question sur les pixels et la résolution de l'écran d'un appareil Android.

L'application que j'ai développée était à l'époque où le Samsung Galaxy S III était nouveau. Les images de mon application avaient une résolution de 2310x1300 (ratio 1.777 pour s'adapter à l'écran). Le Samsung Galaxy S III a une résolution de 1280x720. J'ai choisi une résolution plus élevée afin d'avoir une certaine marge pour les futurs appareils dotés d'écrans plus grands et de DPI plus élevés.

Mais ce n'est pas suffisant de nos jours - le Galaxy S6 a une résolution de 2560x1440, ce qui est bien plus élevé que la résolution de mes images. Je pensais donc que la qualité des images pour un tel appareil serait détériorée puisque la résolution des images est inférieure à celle de l'écran. Mais en testant l'application pour le Galaxy S6, j'ai ne peut pas Les images mises à l'échelle pour le nouvel appareil (résolution d'image de 2310x1300 utilisée dans un appareil de 2560x1440) sont au moins aussi bonnes que pour un appareil plus ancien avec une résolution inférieure.

Ai-je complètement mal compris le fonctionnement des ppp et de la résolution ?

Les ressources en images se trouvent sous la rubrique /res/drawable/hdpi dossier.

2voto

Tamoghna Chowdhury Points 3137

Comme mentionné dans la réponse de @w3dk, vous ne pouvez pas voir de différence parce que vous ne voyez pas de différence . En d'autres termes, vos yeux ne peuvent littéralement pas faire la différence entre les détails de l'image sur le Galaxy S3 et le Galaxy S6, car dans les deux cas, la résolution de l'image est proche de la limite de résolution de l'œil (la séparation angulaire minimale de deux points/objets distincts à partir d'une distance d'observation particulière pour laquelle ils peuvent être discernés comme étant distincts l'un de l'autre). Ce que je vais aborder ici, ce sont certaines de vos préoccupations en tant que développeur.

Le S3 était un xhdpi de sorte que toutes les applications qui s'y trouvent utilisent les ressources d'image de l'appareil. /res/drawable/xhdpi/ dossier. Le S6 est un xxxhdpi et donc toutes les applications qui s'y trouvent utiliseront les ressources de l'appareil. /res/drawable/xxxhdpi/ par défaut, mais reviennent à la résolution inférieure suivante si le dossier requis n'est pas disponible, en utilisant une mise à l'échelle rapide de l'image pour afficher les images à la résolution requise. abstrait résolution (dip (pixels indépendants du périphérique), pas pixels) (les dip sont indépendants du matériel, les pixels sont dépendants du matériel).

Vous avez raison de supposer que la qualité de l'image aurait dû se détériorer dans des conditions normales, mais vos images sont en fait assez haute résolution, et en combinant cela avec une certaine réduction d'échelle sur l'appareil pour le S6, vous obtenez en fait une image de qualité similaire à celle d'un S3.

Pourquoi je parle de downscaling même pour le S6 haute résolution ? C'est simple. Vous n'utilisez probablement pas l'intégralité de l'écran pour afficher l'image, et probablement ce que vous voulez. dip La résolution que vous avez spécifiée correspond à moins de 2310x1300 pixels matériels réels, l'image est donc réduite.

Contrairement à ce que l'on pourrait penser, la réduction d'échelle à partir d'une source à haute résolution augmente en fait la qualité de l'image, et l'augmentation d'échelle à partir d'une source à basse résolution la diminue sur l'affichage final, pour une même résolution d'affichage final et des images sources similaires (sauf en termes de résolution). Ici est ma source concernant la mise à l'échelle en matière de qualité d'image.

Comme @DanHulme l'a succinctement exprimé :

"Une image qui a été réduite à partir d'une source à haute résolution aura un meilleur aspect qu'une image qui a été augmentée à partir d'une source à basse résolution."

1voto

MrWhite Points 1376

Afficher une image plus petite que ce que l'appareil est capable de faire ne va pas "détériorer" la qualité de l'image, elle ne sera simplement pas aussi bonne que ce que l'appareil est capable de faire. L'exemple d'image (2310 x 1300) que vous donnez devrait certainement apparaître "mieux" sur le S6 que sur le SIII puisque l'image est plus grande que ce que le SIII peut afficher et doit donc être mise à l'échelle. en bas . Le S6 est capable d'afficher toutes les images.

Le fait que vous ne puissiez pas voir la différence est probablement dû à votre vue. Entre 306ppi (SIII) et 577ppi (S6) et selon le type de média consommé, l'être humain moyen à une distance de vision moyenne ne sera probablement pas capable de faire la différence. 577ppi se rapproche de ce que l'œil humain est capable de différencier (à 4 pouces) !

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X