se supone que las líneas de color gris oscuro a ser de color negro y 1 píxel de ancho:
pRT->DrawLine(Point2F(100, 120), Point2F(300, 120), blackbrush, 1);
Las líneas de color gris claro se supone que son negro y 0,5 píxel de ancho:
pRT->DrawLine(Point2F(120, 130), Point2F(280, 130), blackbrush, 0.5);
En cambio, ambos tienen 2 píxeles de ancho. Si solicito 2 píxeles de ancho, la línea es negra, pero naturalmente de 2 píxeles de ancho.
El objetivo de renderizado tiene el mismo tamaño que el área de cliente de la ventana. Me gustaría la precisión de píxeles como en GDI, una coordenada = un píxel y colores puros ...
Gracias.
Gracias por la explicación, tiene sentido. ¿Extrañé esto en los documentos de MSDN en Direct2D en alguna parte o no está allí y se suponía que debía saberlo? "Dibujar desde (100.5, 120.5) - (299.5, 120.5) con un ancho de trazo de 1.0 obtendrá lo que está buscando" Si lo entiendo correctamente, eso sería (100.5, 120.5) - (300.5, 120.5) . De lo contrario, se omite el último píxel de la línea. Por cierto, "sugerencia de SemMike": el mismo tipo, estaba respondiendo mi propia pregunta ... – SemMike
Si usa 299.5 o 300.5 depende de si desea una línea de 200px de ancho o una de 201px. Y esto probablemente no esté en los documentos porque es bastante estándar para las modernas API de gráficos en 2D, pero también es un poco obvio y avanzado, y a menudo las personas que están trabajando en cosas avanzadas olvidan lo que no sabían antes de serlo. eso avanzado. Me parece útil pensar en ello como una hoja de papel cuadriculado. Donde las líneas horizontales y verticales se cruzan son las coordenadas de píxel entero, y los cuadrados entre ellas son los elementos de píxel "físicos". –