Web サイトで「Web ページをビットマップとして保存」機能を作成しようとしていますが、サーバー側でテキストを正しいサイズでレンダリングする際に問題が発生します。
クライアント上のテキストのフォントサイズ設定は次のとおりです。
.textDiv
{
font-family: Verdana;
font-size:16px;
}
これをサーバーでレンダリングしようとすると
float emSize = 16;
g.DrawString("mytext", new Font("Verdana", emSize), Brushes.Black, x, y);
サーバー上でテキストが約 20% 大きくなります。
new Font()のドキュメントによると、2 番目の引数 (フォント サイズ) は em ポイントで指定する必要があります。1 つの em ポイントとは正確には何ですか?
ブラウザで font-size:16em を指定すると、テキストが巨大になります。ブラウザで font-size:1em を指定すると、テキストは約 14px になりますが、サーバーで引数として 1 を指定すると、テキストは細い線になります。
では、ブラウザの px または em から .net px/em に変換するにはどうすればよいですか。