{"id":517,"date":"2014-09-24T10:52:44","date_gmt":"2014-09-24T09:52:44","guid":{"rendered":"http:\/\/www.ree7.fr\/blog\/?p=517"},"modified":"2022-08-08T06:47:41","modified_gmt":"2022-08-08T05:47:41","slug":"a-la-quete-du-pixel-perfect-windows-runtime-windows-store-apps","status":"publish","type":"post","link":"http:\/\/www.ree7.fr\/blog\/2014\/09\/a-la-quete-du-pixel-perfect-windows-runtime-windows-store-apps\/","title":{"rendered":"A la qu\u00eate du pixel-perfect : Windows Runtime (Windows Store Apps)"},"content":{"rendered":"<p>Au menu du jour, je vous propose un petit helper tout simple pour vous aider \u00e0 faire du pixel perfect dans vos applications Windows Store.<br \/>\nIl permet via la classe DisplayInformation de d\u00e9terminer le ratio courant de mise \u00e0 l&rsquo;\u00e9chelle de l&rsquo;UI (c-a-d le ratio entre les pixels logiques utilis\u00e9s dans le XAML et les pixels physiques sur l&rsquo;\u00e9cran du device final).<\/p>\n<p>Il permet de convertir une taille logique en taille physique. Je m&rsquo;en sers par exemple dans mes applications pour demander des images aux webservices qui font pile poil la bonne taille en fonction de l&rsquo;\u00e9cran de l&rsquo;utilisateur final.<br \/>\nUn user avec un \u00e9cran 800&#215;480 fera des \u00e9conomies de bande passante en t\u00e9l\u00e9chargeant de plus petites images alors que le possesseur d&rsquo;un \u00e9cran 1920&#215;1080 profitera pleinement de la finesse de son \u00e9cran.<\/p>\n<style> #wrap_githubgist18a0cff9a663cfd118a7 .gist-data {max-height: 100%;} <\/style><div id=\"wrap_githubgist18a0cff9a663cfd118a7\" style=\"width:100%\"><script>document.write('<link rel=\"stylesheet\" href=\"https:\/\/github.githubassets.com\/assets\/gist-embed-b34f7d2eef9a0544.css\">')\ndocument.write('<div id=\\\"gist14718039\\\" class=\\\"gist\\\">\\n    <div class=\\\"gist-file\\\" translate=\\\"no\\\" data-color-mode=\\\"light\\\" data-light-theme=\\\"light\\\">\\n      <div class=\\\"gist-data\\\">\\n        \\n<div class=\\\"js-gist-file-update-container js-task-list-container\\\">\\n      <div id=\\\"file-gistfile1-cs\\\" class=\\\"file my-2\\\">\\n    \\n    <div itemprop=\\\"text\\\"\\n      class=\\\"Box-body p-0 blob-wrapper data type-c  \\\"\\n      style=\\\"overflow: auto\\\" tabindex=\\\"0\\\" role=\\\"region\\\"\\n      aria-label=\\\"gistfile1.cs content, created by pleasereset on 09:45AM on September 24, 2014.\\\"\\n    >\\n\\n        \\n<div class=\\\"js-check-hidden-unicode js-blob-code-container blob-code-content\\\">\\n\\n  <template class=\\\"js-file-alert-template\\\">\\n  <div data-view-component=\\\"true\\\" class=\\\"flash flash-warn flash-full d-flex flex-items-center\\\">\\n  <svg aria-hidden=\\\"true\\\" data-component=\\\"Octicon\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n    <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"><\\\/path>\\n<\\\/svg>\\n    <span>\\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\\n      <a class=\\\"Link--inTextBlock\\\" href=\\\"https:\/\/github.co\/hiddenchars\\\" target=\\\"_blank\\\">Learn more about bidirectional Unicode characters<\\\/a>\\n    <\\\/span>\\n\\n\\n  <div data-view-component=\\\"true\\\" class=\\\"flash-action\\\">        <a href=\\\"{{ revealButtonHref }}\\\" data-view-component=\\\"true\\\" class=\\\"btn-sm btn\\\">    Show hidden characters\\n<\\\/a>\\n<\\\/div>\\n<\\\/div><\\\/template>\\n<template class=\\\"js-line-alert-template\\\">\\n  <span aria-label=\\\"This line has hidden Unicode characters\\\" data-view-component=\\\"true\\\" class=\\\"line-alert tooltipped tooltipped-e\\\">\\n    <svg aria-hidden=\\\"true\\\" data-component=\\\"Octicon\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n    <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"><\\\/path>\\n<\\\/svg>\\n<\\\/span><\\\/template>\\n\\n  <table data-hpc class=\\\"highlight tab-size js-file-line-container\\\" data-tab-size=\\\"4\\\" data-paste-markdown-skip data-tagsearch-path=\\\"gistfile1.cs\\\">\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L1\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"1\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC1\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/**************************************************************************<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L2\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"2\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC2\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">Module Name:  DPIHelper<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L3\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"3\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC3\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">Author : Pierre BELIN &lt;pierre@ree7.fr&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L4\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"4\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC4\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L5\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"5\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC5\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">This source is subject to the Microsoft Public License.<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L6\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"6\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC6\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">See http:\/\/www.microsoft.com\/opensource\/licenses.mspx#Ms-PL.<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L7\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"7\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC7\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">All other rights reserved.<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L8\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"8\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC8\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L9\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"9\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC9\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">THIS CODE AND INFORMATION IS PROVIDED &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, <\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L10\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"10\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC10\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED <\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L11\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"11\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC11\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">WARRANTIES OF MERCHANTABILITY AND\/OR FITNESS FOR A PARTICULAR PURPOSE.<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L12\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"12\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC12\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">***************************************************************************\/<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L13\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"13\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC13\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L14\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"14\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC14\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">using Windows.Graphics.Display;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L15\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"15\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC15\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L16\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"16\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC16\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">namespace ree7.Utils.Helpers<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L17\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"17\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC17\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L18\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"18\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC18\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\tpublic static class DPIHelper<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L19\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"19\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC19\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L20\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"20\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC20\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\tstatic double? currentRatio = null;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L21\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"21\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC21\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L22\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"22\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC22\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\tstatic DPIHelper()<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L23\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"23\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC23\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L24\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"24\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC24\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\tvar di = DisplayInformation.GetForCurrentView();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L25\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"25\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC25\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\tdi.DpiChanged += OnDpiChanged;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L26\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"26\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC26\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t}<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L27\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"27\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC27\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L28\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"28\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC28\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\/\/ Lazy initialization of the ratio<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L29\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"29\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC29\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\tprivate static void LoadCurrentRatio()<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L30\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"30\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC30\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L31\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"31\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC31\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\tvar di = DisplayInformation.GetForCurrentView();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L32\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"32\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC32\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\tswitch (di.ResolutionScale)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L33\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"33\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC33\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L34\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"34\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC34\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tcase ResolutionScale.Scale120Percent:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L35\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"35\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC35\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 1.2; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L36\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"36\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC36\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tcase ResolutionScale.Scale140Percent:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L37\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"37\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC37\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 1.4; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L38\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"38\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC38\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tcase ResolutionScale.Scale150Percent:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L39\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"39\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC39\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 1.5; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L40\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"40\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC40\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tcase ResolutionScale.Scale160Percent:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L41\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"41\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC41\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 1.6; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L42\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"42\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC42\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tcase ResolutionScale.Scale180Percent:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L43\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"43\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC43\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 1.8; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L44\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"44\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC44\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tcase ResolutionScale.Scale225Percent:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L45\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"45\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC45\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 2.25; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L46\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"46\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC46\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\tdefault:<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L47\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"47\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC47\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t\t\tcurrentRatio = 1.0; break;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L48\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"48\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC48\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\t}<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L49\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"49\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC49\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t}<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L50\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"50\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC50\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L51\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"51\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC51\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\tprivate static void OnDpiChanged(DisplayInformation sender, object args)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L52\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"52\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC52\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L53\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"53\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC53\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\tLoadCurrentRatio();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L54\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"54\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC54\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t}<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L55\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"55\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC55\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L56\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"56\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC56\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\tpublic static double ConvertToPhysicalPixels(double pixel)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L57\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"57\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC57\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L58\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"58\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC58\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\tif (currentRatio.HasValue == false) LoadCurrentRatio();\t\t\t<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L59\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"59\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC59\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L60\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"60\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC60\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t\treturn pixel * currentRatio.Value;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L61\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"61\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC61\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t\t}<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L62\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"62\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC62\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\t}<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-gistfile1-cs-L63\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"63\\\"><\\\/td>\\n          <td id=\\\"file-gistfile1-cs-LC63\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">}<\\\/td>\\n        <\\\/tr>\\n  <\\\/table>\\n<\\\/div>\\n\\n\\n    <\\\/div>\\n\\n  <\\\/div>\\n\\n<\\\/div>\\n\\n      <\\\/div>\\n      <div class=\\\"gist-meta\\\">\\n        <a href=\\\"https:\/\/gist.github.com\/pleasereset\/18a0cff9a663cfd118a7\/raw\/3d594bc590234837d176aedb8828eb6237d49109\/gistfile1.cs\\\" style=\\\"float:right\\\" class=\\\"Link--inTextBlock\\\">view raw<\\\/a>\\n        <a href=\\\"https:\/\/gist.github.com\/pleasereset\/18a0cff9a663cfd118a7#file-gistfile1-cs\\\" class=\\\"Link--inTextBlock\\\">\\n          gistfile1.cs\\n        <\\\/a>\\n        hosted with &#10084; by <a class=\\\"Link--inTextBlock\\\" href=\\\"https:\/\/github.com\\\">GitHub<\\\/a>\\n      <\\\/div>\\n    <\\\/div>\\n<\\\/div>\\n')\n<\/script><div style='margin-bottom:1em;padding:0;'><noscript><code><pre style='overflow:auto;margin:0;padding:0;border:1px solid #DDD;'>400: Invalid request<\/pre><\/code><\/noscript><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Au menu du jour, je vous propose un petit helper tout simple pour vous aider \u00e0 faire du pixel perfect dans vos applications Windows Store. Il permet via la classe DisplayInformation de d\u00e9terminer le ratio courant de mise \u00e0 l&rsquo;\u00e9chelle de l&rsquo;UI (c-a-d le ratio entre les pixels logiques utilis\u00e9s dans le XAML et les [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p19lzH-8l","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts\/517"}],"collection":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/comments?post=517"}],"version-history":[{"count":1,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions"}],"predecessor-version":[{"id":581,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions\/581"}],"wp:attachment":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/media?parent=517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/categories?post=517"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/tags?post=517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}