{"id":43,"date":"2010-08-20T15:37:00","date_gmt":"2010-08-20T15:37:00","guid":{"rendered":"http:\/\/www.renaudpradenc.com\/?p=43"},"modified":"2013-01-17T15:45:16","modified_gmt":"2013-01-17T14:45:16","slug":"l-independance-de-la-resolution","status":"publish","type":"post","link":"https:\/\/www.renaudpradenc.com\/?p=43","title":{"rendered":"L&#8217;ind\u00e9pendance de la r\u00e9solution"},"content":{"rendered":"<p>Lancez votre traitement de texte habituel, et ouvrez un document vierge au format A4. Maintenant, prenez une feuille au format A4 et superposez-la \u00e0 la page affich\u00e9e \u00e0 l&#8217;\u00e9cran: cela ne vous surprend peut-\u00eatre plus, mais la feuille est plus grande que sa repr\u00e9sentation \u00e0 l&#8217;\u00e9cran. Ne trouvez-vous pas troublant qu&#8217;en 2010, les ordinateurs ne sachent pas afficher les documents en taille r\u00e9elle \u00e0 l&#8217;\u00e9cran ?<\/p>\n<h1>Une histoire de r\u00e9solution<\/h1>\n<p>Revenons d&#8217;abord sur cette histoire de r\u00e9solution. La r\u00e9solution est une mesure du nombre de points (en l&#8217;occurrence pour un \u00e9cran, des pixels) align\u00e9s sur une longueur d&#8217;un pouce (2,54 cm). On utilise souvent l&#8217;abr\u00e9viation anglaise dpi (\u00abDots Per Inch\u00bb), m\u00eame si l\u2019abr\u00e9viation fran\u00e7aise ppp (\u00abPoints Par Pouce\u00bb) est courante.<\/p>\n<p>Faisons un rapide calcul: l\u2019\u00e9cran de mon iMac G5 pr\u00e9sente des dimensions physiques de 14,4 x 9 pouces (soit 36,58 x 22,86 cm). Il affiche 1440 x 900 pixels. Sa r\u00e9solution horizontale est donc de 1440 \/ 14,4 = 100 ppp. Et sa r\u00e9solution verticale est de 900 \/ 9 = 100 ppp.\u2028 Le fait que la r\u00e9solution soit la m\u00eame horizontalement et verticalement indique que les pixels de l\u2019\u00e9cran sont carr\u00e9s (il existe des \u00e9crans avec des pixels rectangulaires).<\/p>\n<h1>Les logiciels ne dessinent pas \u00e0 l\u2019\u00e9chelle<\/h1>\n<p>Nous en verrons la raison plus loin, mais sur recommandation d\u2019Apple, les logiciels consid\u00e8rent que l\u2019\u00e9cran pr\u00e9sente une r\u00e9solution de 72 ppp. Ce choix de 72 ppp s\u2019explique pour des raisons historiques; cela permet une correspondance exacte entre une mesure en pixels et une mesure en points d&#8217;imprimerie (il y a 72 points d&#8217;imprimerie par pouce). Il me semble que sous Windows, on consid\u00e8re que la r\u00e9solution est de 96 ppp, ce qui est plus proche de la r\u00e9alit\u00e9 actuelle.<\/p>\n<p>En pratique cela signifie que pour repr\u00e9senter une page A4 verticale, le logiciel dessine un rectangle de 21 cm\/2,54 x 72 ppp = 595 pixels par 29,7 cm\/2,54 x 72 ppp = 841 pixels. Aussi, quand le zoom de la page est r\u00e9gl\u00e9 \u00e0 100 %, le logiciel dessine \u00e0 72 ppp. Pour le faire dessiner \u00e0 100 ppp, il faut donc mettre le zoom \u00e0 100\/72 = 139 %. Je peux alors superposer la feuille sur mon \u00e9cran avec une correspondance parfaite.<\/p>\n<h1>Pourquoi ce probl\u00e8me n&#8217;est-il toujours pas r\u00e9solu en 2010 ?<\/h1>\n<p>Apple propose des API pour conna\u00eetre la d\u00e9finition (en pixels) de l\u2019\u00e9cran. On peut sans doute \u00e9galement demander au syst\u00e8me d\u2019exploitation les dimensions physiques de l\u2019\u00e9cran et calculer sa r\u00e9solution comme ci-dessus, et enfin dessiner \u00e0 l\u2019\u00e9chelle. Cependant, un probl\u00e8me va appara\u00eetre d\u00e8s lors que vous brancherez un deuxi\u00e8me \u00e9cran sur votre Mac qui pr\u00e9sente une r\u00e9solution diff\u00e9rente du premier: une fen\u00eatre \u00e0 cheval sur les deux \u00e9crans n\u2019aura son contenu \u00e0 l\u2019\u00e9chelle que sur l\u2019un des \u00e9crans. En y r\u00e9fl\u00e9chissant, la seule mani\u00e8re simple de r\u00e9soudre le probl\u00e8me est que ce soit le Window Server qui fassent l\u2019adaptation.<\/p>\n<h1>Les r\u00e9flexions d&#8217;Apple sur le sujet<\/h1>\n<p>L&#8217;ind\u00e9pendance de la r\u00e9solution \u00e9tait annonc\u00e9e pour Mac OS 10.5 et ne fut finalement pas pr\u00e9sente. Il existe pourtant d\u00e9j\u00e0 quelques API: <a href=\"http:\/\/developer.apple.com\/mac\/library\/documentation\/UserExperience\/Conceptual\/HiDPIOverview\">Resolution Independence Guidelines<\/a>.<\/p>\n<p>Je vous fait un petit r\u00e9sum\u00e9:<\/p>\n<ul>\n<li>Les ing\u00e9s d&#8217;Apple ont l&#8217;air de s&#8217;embrouiller avec tout \u00e7a.<\/li>\n<li>Il faudra dessiner \u00e0 72 ppp. Quartz effectuera ensuite les conversions pour avoir les coordonn\u00e9es en pixels.<\/li>\n<li>Il est pour l&#8217;instant possible de changer le facteur d&#8217;agrandissement \u00e0 l&#8217;aide de l&#8217;application Quartz Debug, dans le menu Tools &gt; Show User Interface Resolution. Essayez, c&#8217;est marrant. Ce petit essai devrait vous faire comprendre la complexit\u00e9 de la chose: c&#8217;est moche, on voit plein de gros pixels.<\/li>\n<\/ul>\n<p>Il va donc falloir rendre l&#8217;interface utilisateur enti\u00e8rement vectorielle. C&#8217;est un \u00e9norme travail, et il est donc compr\u00e9hensible qu&#8217;Apple ne l&#8217;ait pas encore compl\u00e8tement impl\u00e9ment\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lancez votre traitement de texte habituel, et ouvrez un document vierge au format A4. Maintenant, prenez une feuille au format A4 et superposez-la \u00e0 la page affich\u00e9e \u00e0 l&#8217;\u00e9cran: cela ne vous surprend peut-\u00eatre plus, mais la feuille est plus grande que sa repr\u00e9sentation \u00e0 l&#8217;\u00e9cran. Ne trouvez-vous pas troublant qu&#8217;en 2010, les ordinateurs ne [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[65,64],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-dimensions","tag-resolution"],"_links":{"self":[{"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=43"}],"version-history":[{"count":4,"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":127,"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions\/127"}],"wp:attachment":[{"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.renaudpradenc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}