質問するログイン新規登録

回答編集履歴

2

追記\(1\)

2016/01/02 10:41

投稿

SF6
SF6

スコア23

answer CHANGED
@@ -1,4 +1,4 @@
1
- スクリーンの縦横のdpiを取得できことがあります。
1
+ スクリーンの縦横のdpiを取得必要があります。
2
2
  dpiはdot per inchの略で、1インチが何pxかを示します。
3
3
  A4用紙はおおよそ8.27×11.69インチだから、8.27=width/xdpi、11.69=height/ydpiとなるようにすればいいです。
4
4
 
@@ -12,4 +12,7 @@
12
12
  //position以降は作ったdiv要素が画面に表示されないためのもの
13
13
  document.documentElement.appendChild(etest); //bodyに追加 (実体を持たせる)
14
14
  var xdpi = etest.offsetWidth, ydpi = etest.offsetHeight; //縦横のdpi
15
- ```
15
+ ```
16
+
17
+ 【追記】
18
+ どうもこの方法では本来のdpiでなく論理dpiが出てくるようです。

1

appendChildを追加

2016/01/02 10:41

投稿

SF6
SF6

スコア23

answer CHANGED
@@ -10,5 +10,6 @@
10
10
  var etest = document.createElement("div"); //div要素を作る
11
11
  etest.style.cssText = "width: 1in; height: 1in; position:absolute; left: -1in; right: -1in";
12
12
  //position以降は作ったdiv要素が画面に表示されないためのもの
13
+ document.documentElement.appendChild(etest); //bodyに追加 (実体を持たせる)
13
14
  var xdpi = etest.offsetWidth, ydpi = etest.offsetHeight; //縦横のdpi
14
15
  ```