0

スタンドアロン アプリケーション (Windows または Java) で文字列のサイズをピクセル単位で測定しようとしていますが、このアプリから報告されたサイズは、FF または IE で報告された文字列のサイズと一致しません。

以下のコードを使用して文字列 "Graphics" のサイズを測定すると、97 ピクセルが返されます。FF と IE は、文字列のサイズを 64 ピクセルとして報告します。私の頭に浮かぶのはdpiだけですが、明示的に設定しました。

どうすればこれを達成できるかについて、誰かが私に何か指針を与えることができますか? 前に述べたように、私はテキストを測定するスタンドアロンの方法を探していますが、結果はブラウザーによるサイズ レポートに匹敵する必要があります。

Bitmap bmp = new Bitmap(1, 1);
        SizeF f = new SizeF();
        bmp.SetResolution(CreateGraphics().DpiX, CreateGraphics().DpiY);

        using (Graphics g = Graphics.FromImage(bmp))
        {
            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
            FontFamily ffm = FontFamily.Families.FirstOrDefault(r=>r.Name.Equals("Arial"));

            using (System.Drawing.Font font = new System.Drawing.Font(ffm, 12.0F,  FontStyle.Regular, GraphicsUnit.Point))
            {
                float ff = font.SizeInPoints;
                f = TextRenderer.MeasureText(g,"Graphics", font, new Size(int.MaxValue, int.MaxValue), TextFormatFlags.NoPadding);
            }
        }

このスパンタグを作成し、jsを使用してそのサイズを取得することで、ブラウザーでサイズを測定しています。

<span style="font-family: Arial; font-size: 12pt;">Graphics</span>
4

0 に答える 0