次の LaTeX 原稿を考えてみましょう。この原稿では、ドキュメント クラスを使用して、画像のとイメージのstandalone
両方を生成します。PDF
PNG
TikZ
\documentclass[tikz,convert]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (1,1)
[rounded corners] -- (2,0) -- (3,1)
[sharp corners] -- (3,0) -- (2,1);
\end{tikzpicture}
\end{document}
結果のPDF
画像は次のようになります (これはスクリーンショットです)。
結果のPNG
画像は次のようになります。
なぜPNG
画像が違うのか、そして間違っている、PDF
ファイルよりも寸法が小さいですか?
答え1
概念的にはビットマップにはサイズはなく、ピクセル数だけがあります。マニュアルに記載されているように、standalone
クラスはconvert
300dpiを想定しており、印刷用の高解像度画像を作成しますが、pdftexのデフォルトの画像解像度は実際には72dpiです。pngファイルはピクセルの意図したサイズを保存できるしかし、ほとんどのシステムではそうではありませんし、そうでない場合でもすべてのシステムがヒントを使用します。
だからどちらか
\fbox{\includegraphics[scale=.24]{file.png}}% 72/300=.24
または
{\pdfimageresolution=300 \fbox{\includegraphics{file.png}}}
同じサイズになります
\fbox{\includegraphics{file.pdf}}
答え2
いいえ、そうではありません。それはどのように測定するかによって異なります。
MS Word での測定:
Word に配置された 3 つの異なる解像度の画像:
印刷する場合:
LaTeX での測定:
コード:
\documentclass[]{standalone}
\usepackage{graphics}
\begin{document}
\noindent
\includegraphics{aaa.pdf}
\includegraphics{aaa.png}
\end{document}
PDF ビューアの 100% ズームでの画面上の測定:
Webページ上の測定:
ウェブブラウザで表示されるPNGのサイズは、画像の処理方法が異なるため、当てにすることはできません(こちらをご覧ください)
1200 dpi の JPEG 画像を Imgur にアップロードし、Web ブラウザで表示します。
300 dpi の PNG 画像を Imgur にアップロードし、Web ブラウザーで表示します。
50 dpi の JPEG 画像を Imgur にアップロードし、Web ブラウザで表示します。
Web ブラウザで正しい寸法を表示するには、正しい dpi で PNG を生成する必要があります。次の演習を参照してください。
私の画面は2560x1440です。
画面の横幅は約23.5インチです
画面解像度は2560ドット/23.5インチ=109ドット/インチ
約 110 dpi の PNG を生成しました。
Web ブラウザで画面上の水平寸法を測定します。
答え3
ユーザーstandalone
マニュアル (v1.2 - 2015/07/15) では、生成された PNG 画像が期待どおりの物理的な寸法を持たない理由が説明されており、これらの寸法を適切に設定する方法も示されています。
PNG画像の物理的な寸法が間違っている理由
15ページのセクション4.6.1「変換設定」によると
以下のデフォルト設定が使用されます: [...] 密度 300dpi
「dpi」は「dot per inch」の略で、別名「pixels per inch」(「ppi」)です。画面に正しい寸法で表示するには、PNG の生成に使用される ppi が画面の ppi と等しくなければなりません。
画面のppiを確認するには、この簡単な方法Wikipediaの画素密度ページ。この方法では、画面に定規を当てて、特定の数のピクセルで構成されていることがわかっている線の長さを測定します。
PNG画像の物理的な寸法が正しいことを確認する方法
17 ページの表 1 には、生成された PNG 画像が目的の物理寸法を持つようにするための 2 つの方法が示されています。どちらの方法も、次のようにドキュメント クラス オプションに値を割り当てることによって構成されますconvert
。
\documentclass[tikz,convert={...}]{standalone}
画面の ppi を設定します
convert={density=<d>}
。<d>
を設定します
convert={size=<w>x<h>}
。ここで、 は、<w>x<h>
画面に表示されたときに目的の物理的寸法を持つことがわかっている PNG 画像のピクセル寸法です。今回の場合、PDF 画像のスクリーンショットの物理的な寸法は正しいと述べているため、ピクセル寸法、つまり 137x50 を使用します。macOS を使用している場合は、Finder から直接読み取ることができます。