GDI +: ¿Cómo dibujo una línea que tenga una pulgada de largo en cualquier dispositivo en el que esté dibujada?

Necesito dibujar una línea de una pulgada de largo en cualquier dispositivo dado unGraphics referencia a ella Necesito que sea una pulgada de largo, independientemente de lo queTransform se establece en. Supongamos que el factor de escala de la transformación está dado porscale En ambas direcciones horizontal y vertical.

Algunos códigos C ++ / CLI:

g->DrawLine(Pens::Black, 50.0f, 50.0f, 50.0f + oneInchEquivalent / scale, 50.0f);

Ahora que no fue difícil en absoluto! Ahora todo lo que tenemos que hacer es calcularoneInchEquivalent.

g->DpiX me da una distancia de lo que parece una pulgada en la pantalla pero no en la impresora. Parece que en las impresoras, dibujar una línea de 100 unidades cong->PageUnit configurado en GraphicsUnit :: Display me dará una línea de una pulgada de largo. Pero, realmente necesito esto para trabajar independientemente de laPageUnit ajuste. De hecho, cambiandoPageUnit ¡¡Cambiará el ancho de la pluma !!

Editar: He aceptado provisionalmente la única respuesta aquí, ya que es bastante cercana a lo que estoy buscando.