11

C#アプリケーションでフォームメールを生成しようとしています。私は金曜日にこれを1時間でまとめるべきでした...しかし、Outlookはかなり不従順です。

MailItemのHTMLBodyでフォントサイズを指定する方法に関係なく、サイズが少し異なるようです。フォント面は常に指定どおりに表示されますが、サイズが正しくなることはありません。

email.HTMLBody = "<p style='font-size:11px;font-family:Calibri;'>girl look at that body</p>";
email.HTMLBody = "<style> body { font-family:'Calibri'; font-size:11px; } </style> <body>girl look at that body</body>";
email.HTMLBody = "<html><header><style> body { font-family:'Calibri'; font-size:11px; } </style></header> <body>girl look at that body</body></html>";
email.HTMLBody = "<span style='font-size:11px;font-family:calibri;'>girl look at that body</span>";

サイズ8.5のフォントを生成します。

email.HTMLBody = "<html><body><font face='Calibri' size='11px'>girl look at that body</font></body></html>";
email.HTMLBody = "<font face='Calibri' size='11px'>girl look at that body</font>";

サイズ12のフォントを生成します。

つまり、CSSで11px(または11pt、それも試してみました)のフォントを指定すると8.5pxになり、フォントタグで12pxになります。

私はこれをもう少しいじってみましたが、基本的に、フォントタグは何があっても12ptフォントを生成します。これは行き止まりですが、とにかくフォントタグが非推奨になっていることはわかっていました。CSSタグは私にさまざまなサイズを与えますが、私が求めているものはめったにありません。常にオフであり、一定の量ではありません。

コードのフォントサイズ=メールのフォントサイズ:

  • 12 = 9
  • 13 = 10
  • 14 = 10.5
  • 15 = 11.5
  • 16 = 12
  • 17 = 13
  • 18 = 13.5
  • 19 = 14.5
  • 20 = 15

CSSで14.5pxを指定すると、希望の11pxが得られます...しかし、それに依存するものを展開するのは快適ではありません。

ここでの問題は何ですか?CSSで指定し忘れているものはありますか?MailItemまたはOutlook.Applicationの他の場所で調整する必要があるものはありますか?

4

5 に答える 5

8

これは、pt ではなく 11px を使用したためです。「px」はピクセルを表し、テキストの 1 ピクセル サイズはフォント サイズの 1 ポイントを意味しません。11px の代わりに 11pt を使用します。

ここでのこの議論ごと: https://graphicdesign.stackexchange.com/questions/199/point-vs-pixel-what-is-the-difference

ピクセルは、単一の正方形の「画像要素」(したがってピクセル)、つまり画像内の単一のドットです。10x10 の画像は、幅 10、奥行き 10、合計 100 ピクセルのグリッド内の一連のピクセルで構成されます。

一方、「ポイント」(pt)は長さの単位で、一般的にフォントの高さを測定するために使用されますが、技術的には任意の長さを測定できます。アプリケーションでは、1pt は正確に 1/72 インチに相当します。従来の印刷では、技術的には 72pt は 0.996264 インチですが、切り上げは許されると思います。

ピクセル数 = 1pt は、画像の解像度によって異なります。画像が 72ppi (ピクセル/インチ) の場合、1 ポイントはちょうど 1 ピクセルに等しくなります。

于 2012-05-22T13:10:03.450 に答える
1

電子メールの一部の設定は、指定したフォントが何であれ、サイズを小さくするように設定されているように見えます。これは、ユーザー設定によって異なる場合があります。あなたはそれが「一定の量ではない」と述べていますが、私は同意しません。あなたの数に基づいて、すべての偶数の値はあなたが述べた量で出てきますが.75、すべての奇数の値は約.76xxxxです。つまり、メールは、指定されたフォントサイズにおよそ。と同等の値を掛けるように設定されているようなものです.75em

はい、あなたはあなたの目標値を取り、大まか1.33に掛けることによって補償することができます、しかしあなたはあなた自身のためにそれをしているだけですか?つまり、最初に述べたように、これはユーザー固有の設定である可能性があり(デフォルトで.75はOutlookにある可能性がありますが、わかりません)、すべてのユーザーのフォントサイズを保証することはできません。

おそらく、フォントのサイズをem単位で指定すると、ここで機能する場合があります。を指定する1.33emと、ターゲットサイズに最も一貫性があり、ユーザー設定にも応答する可能性があります。

Outlookのバージョンを自分で見たところ、フォントを具体的に拡大縮小するための設定を確実に特定できませんでした。デフォルトのフォントサイズを設定できます。おそらく、デフォルトサイズから要求されたサイズへの数式に基づいてスケーリングが行われます。

于 2012-05-14T16:45:14.200 に答える
1

Excel データで Outlook 電子メールを作成する VBA マクロを作成するときに、ほぼ同じ問題が発生しました。おもしろいのは、私が何をしたとしても、pt または px を使用しても、どちらの値を使用しても、出力は常にフォント サイズ 11 をスキップしていたことです。11pt を使用すると、8.5 のフォント サイズが得られました。12ptを使用すると9になりました.14を使用すると12になりました...

とにかく、小数を追加すると、突然機能しました。だからこれを試してください: 11.0pt。それが役に立てば幸い。

于 2013-04-23T09:01:10.887 に答える
-2

これを試して:<span style="font-size:11pt">

お役に立てば幸いです。

于 2016-06-13T08:52:45.797 に答える