¿Podría alguien proporcionar un ejemplo de una forma eficiente de trabajar con píxeles utilizando Direct2D?Cómo trabajar con píxeles con Direct2D
Por ejemplo, ¿cómo se puede intercambiar I todos los píxeles verdes (RGB = 0x00FF00
) con píxeles rojos (RGB = 0xFF0000
) en un objetivo rendir? ¿Cuál es el enfoque estándar? ¿Es posible usar ID2D1HwndRenderTarget
para eso? Aquí supongo que usar algún tipo de aceleración de hardware. ¿Debería crear un objeto diferente para manipulaciones directas de píxeles?
Usando DirectDraw usaría el método BltFast
en el IDirectDrawSurface7
con operación lógica. ¿Hay algo similar con Direct2D?
Otra tarea es generar dinámicamente imágenes complejas donde cada ubicación de punto y color es el resultado de una función matemática. En aras de un ejemplo, simplifiquemos todo y dibuje Y = X^2
. ¿Cómo hacer eso con Direct2D? En definitiva, voy a necesitar dibujar funciones complejas, pero si alguien pudiera darme un ejemplo simple para Y = X^2
.
Vale la pena señalar que puede utilizar 'QueryInterface' en un' ID2D1RenderTarget' (de cualquier tipo) para obtener 'ID2D1DeviceContext'. Esto le permite usar el método mucho más simple 'ID2D1Factory :: CreateHwndRenderTarget', pero aún así obtener la API más nueva y evitar lidiar con el papeleo DXGI/Direct3D. Esto no está documentado, pero parece ser intencional, por lo que puedo decir. –