我正在编写一个基于 Python 的 OpenGL 应用程序,它将在屏幕上显示一些文本和数学运算。这些文本元素将以纹理化四边形的形式呈现。但是,我在纹理中的字体大小方面遇到了麻烦:它们比最终应该的要大。
为了生成将映射到这些四边形上的文本和数学纹理图像,我执行以下操作:
- 我
pdf
使用 从 latex 源生成一个文件pdflatex
。此步骤使用的命令是:$ pdflatex sample.tex
- 我使用 Imagemagick 的
png
从 生成一个图像文件。这是此步骤使用的当前命令行:pdf
convert
$ convert -set units PixelsPerInch -density 112 sample.pdf -quality 100 sample.png
然后生成了文件png
,我可以成功地将其映射到四边形上。但是,我注意到文件的字体大小与 的字体png
大小不匹配pdf
。为了检查它,我在以下文件上渲染了相同的示例字符串:pdf(带有pdflatex
);Libreoffice 文档;以及png
图像文件(使用 生成并convert
应用于pdf
)。这就是我得到的结果:
最上面的句子是从 中提取的pdf
。中间的句子由 Libreoffice 生成。底部的句子(较大的句子)是从png
生成的文件pdf
中提取的convert
。对于前两个样本,我使用了10pt
Computer Modern 字体。
和 Libreoffice的结果pdf
几乎相同(Libreoffice 实际上要短一点)。我原本希望得到与文件非常相似的结果png
(-density
选项convert
设置为 112 以匹配我的计算机屏幕)。但是,该字符串比其他两个字符串大得多。
我的问题是:是否可以将pdf
文件转换为png
字体大小保持不变的文件?如果可以,该怎么做?
下面是我用于上述测试的 Latex 示例文件:
\documentclass[10pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{lmodern}
\begin{document}
\pagecolor{white}
This is a test... 0123456789
\end{document}
先感谢您!