<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>2016/12/21 on Yano&#39;s digital garage</title>
    <link>https://www.bravotouring.com/~yano/archives/2016/12/21/</link>
    <description>Recent content in 2016/12/21 on Yano&#39;s digital garage</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 21 Dec 2016 23:24:34 +0900</lastBuildDate>
    <atom:link href="https://www.bravotouring.com/~yano/archives/2016/12/21/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>dpiスケーリングの憂鬱</title>
      <link>https://www.bravotouring.com/~yano/diary/it/20161221_pixelratio.htm</link>
      <pubDate>Wed, 21 Dec 2016 23:24:34 +0900</pubDate>
      <guid>https://www.bravotouring.com/~yano/diary/it/20161221_pixelratio.htm</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20161119_thinkpad_t460s.htm&#34;&gt;スケーリング125％に設定したT460s&lt;/a&gt;で憂鬱再燃。&lt;/p&gt;&#xA;&lt;table align=&#34;right&#34; class=&#34;Panorama&#34;&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;img alt=&#34;Webブラウザの画像がぼやける&#34; src=&#34;https://www.bravotouring.com/~yano/images/2016/20161221_pixelratio.jpg&#34;/&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;PhotoMemo&#34;&gt;Webブラウザの画像がぼやける&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;いわゆるスマートフォン対応に際して画面サイズは多種多様ではあるものの、これさえ唱えておけば万事良さげに調整してくれるという「業界標準」な&lt;blockquote&gt;&lt;meta name=&#34;viewport&#34; content=&#34;width=device-width,initial-scale=1&#34;&gt;&lt;/blockquote&gt;という呪文にお任せしていたのだが、よく考えると元祖iPhoneの320×480からiPhone 6sやNexus 5の1080×1920、iPad Airの1536×2048までディスプレイの大きさと解像度(dpi)も雲泥の差があるのに、見た目は然程変わらないという&#34;不自然な自然さ&#34;がある。正確に言うと高密度ディスプレイにおいては「1ポイント≒1ドット」という前提が成り立たなくなった為、640×960のiPhone 4でもアプリケーションは320×480想定で動かしておいてプラットフォーム側でデバイス解像度に合わせて調整する仕組み、つまり「DPIスケーリング」という事だ。&lt;/p&gt;&#xA;&lt;p&gt;例えば&lt;a href=&#34;http://www.quirksmode.org/m/tests/widthtest.html&#34;&gt;QuirksMode:Screen size tests&lt;/a&gt;で調べてみると、Windowsデスクトップ(WUXGA:1920×1200)だと&lt;blockquote&gt;screen.width/height = 1920 / 1200&lt;br/&gt;documentElement.offset = 1226 / 600&lt;br/&gt;documentElement.client = 1226 / 887&lt;br/&gt;window.innerWidth/Height = 1226 / 887&lt;br/&gt;window.devicePixelRatio = &lt;span class=&#34;Topics&#34;&gt;1&lt;/span&gt;&lt;br/&gt;window.page = 0 / 0&lt;/blockquote&gt;であるのに、Nexus 5(FHD:1080×1920)だと&lt;blockquote&gt;screen.width/height = 360 / 640&lt;br/&gt;documentElement.offset = 980 / 1334&lt;br/&gt;documentElement.client = 980 / 1393&lt;br/&gt;window.innerWidth/Height = 980 / 1394&lt;br/&gt;window.devicePixelRatio = &lt;span class=&#34;Topics&#34;&gt;3&lt;/span&gt;&lt;br/&gt;window.page = 0 / 0&lt;/blockquote&gt;となるので、文章はそれなりの大きさで表示は収まるものの「横幅は360px」なので「width=320px」の画像が横いっぱいに表示されるなんとも不細工な結果になっていた。&lt;/p&gt;&#xA;&lt;p&gt;本来であれば&lt;a href=&#34;https://developer.mozilla.org/ja/docs/Web/API/Window/devicePixelRatio&#34;&gt;Window.devicePixelRatio&lt;/a&gt;を見て「1ポイント＝2ドット、3ドット」という構成に対応する必要があったものの、&lt;a href=&#34;https://developer.mozilla.org/ja/docs/Web/Guide/CSS/Media_queries&#34;&gt;メディアクエリ&lt;/a&gt;でカテゴリ分けするというのも付け焼き刃的で釈然とせず悶々としていたのだが、&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20161119_thinkpad_t460s.htm&#34;&gt;スケーリング125％に設定したT460s&lt;/a&gt;では&lt;blockquote&gt;screen.width/height = 1536 / 864&lt;br/&gt;documentElement.offset = 1114 / 600&lt;br/&gt;documentElement.client = 1114 / 682&lt;br/&gt;window.innerWidth/Height = 1114 / 682&lt;br/&gt;window.devicePixelRatio = &lt;span class=&#34;Warning&#34;&gt;1.25&lt;/span&gt;&lt;br/&gt;window.page = 0 / 0&lt;/blockquote&gt;となり、スマホに限らない根本的な問題であることに気付いた。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
