Cómo renderizar texto en .NET en el mismo tamaño que los navegadores proporciona CSS para el texto

Estoy tratando de crear una función "guardar página web como mapa de bits" en un sitio web y tengo algunos problemas para representar el texto en el tamaño correcto en el lado del servidor.

La configuración de tamaño de fuente para el texto en el cliente es:

.textDiv
{
    font-family: Verdana;
    font-size:16px;
}

Si intento renderizar esto en el servidor con

float emSize = 16;
g.DrawString("mytext", new Font("Verdana", emSize), Brushes.Black, x, y);

El texto será aproximadamente un 20% más grande en el servidor.

losdocumentación for new Font () dice que el segundo argumento (el tamaño de fuente) debe especificarse en puntos em. ¿Qué es exactamente un punto em?

Si especifico el tamaño de fuente: 16em en el navegador, el texto se vuelve ENORME. Si especifico el tamaño de fuente: 1em en el navegador, el texto tendrá alrededor de 14 píxeles de tamaño, pero si pongo 1 como argumento en el servidor, el texto se convierte en una línea delgada.

Entonces, ¿cómo puedo convertir del navegador px o em a .net px / em.

Respuestas a la pregunta(2)

Su respuesta a la pregunta