Compartir a través de


Función SetDeviceGammaRamp (wingdi.h)

La función SetDeviceGammaRamp establece la rampa gamma en paneles de visualización de color directo que tienen controladores que admiten rampas gamma descargables en hardware.

Importante

Se recomienda encarecidamente no usar esta API. El uso de esta API está sujeto a limitaciones principales:

  • SetDeviceGammaRamp implementa heurística para comprobar si una rampa proporcionada dará lugar a una pantalla ilegible. Si una rampa infringe esa heurística, la función falla silenciosamente (es decir, devuelve TRUE, pero no establece la rampa). Por ese motivo, no puede esperar usar esta función para establecer cualquier rampa gamma arbitraria . En concreto, la heurística evita rampas que darían lugar a casi todos los píxeles que se aproximaban a un solo valor (como el blanco/negro de pantalla completa), ya que esto puede impedir que un usuario recupere la pantalla.

  • Debido a la naturaleza global de la función, cualquier otra aplicación del sistema podría, en cualquier momento, sobrescribir cualquier rampa que haya establecido. En algunos casos, el propio sistema operativo puede reservar el uso de esta función, lo que hace que se sobrescriba cualquier rampa existente. La rampa gamma también se restablece en la mayoría de los eventos de visualización (conexión o desconexión de un monitor, cambios de resolución, etc.). Por lo tanto, no puede estar seguro de que cualquier rampa establecida está en vigor.

  • Esta API tiene un comportamiento indefinido en modos HDR.

  • Esta API tiene una interacción sin definir con soluciones de calibración de color integradas y de terceros.

Para la calibración de color, se recomienda crear un perfil de International Color Consortium (ICC) y permitir que el sistema operativo aplique el perfil. Para escenarios avanzados de fabricante de equipos originales (OEM), hay un modelo de controlador de dispositivo que puede usar para personalizar la calibración de color más directamente. Consulta el Sistema de colores de Windows para obtener información sobre cómo administrar perfiles de color.

Para el filtrado de luz azul, Windows ahora proporciona compatibilidad integrada denominada Night Light. Se recomienda dirigir a los usuarios a esta característica.

Para la adaptación de colores (por ejemplo, ajustar la calibración de color en función de los sensores de luz ambiente), Windows ahora proporciona compatibilidad integrada, que se recomienda para su uso por parte de los OEM.

Para efectos de filtro personalizados , hay una variedad de filtros de color de accesibilidad integrados para ayudar con una variedad de casos.

Sintaxis

BOOL SetDeviceGammaRamp(
  HDC    hdc,
  LPVOID lpRamp
);

Parámetros

hdc

Especifica el contexto del dispositivo de la placa de presentación de color directo en cuestión.

lpRamp

Puntero a un búfer que contiene la rampa gamma que se va a establecer. La rampa gamma se especifica en tres matrices de 256 elementos WORD cada uno, que contienen la asignación entre valores RGB en el búfer de fotogramas y los valores del convertidor analógico digital (DAC ). La secuencia de las matrices es roja, verde y azul. Los valores RGB deben almacenarse en los bits más significativos de cada WORD para aumentar la independencia de DAC.

Valor devuelto

Si esta función se ejecuta correctamente, el valor devuelto es TRUE.

Si se produce un error en esta función, el valor devuelto es FALSE.

Comentarios

Los modos de visualización de color directo no usan tablas de búsqueda de colores y normalmente son de 16, 24 o 32 bits. No todas las placas de vídeo de color directo admiten rampas gamma cargables. SetDeviceGammaRamp solo se realiza correctamente para dispositivos con controladores que admiten rampas gamma descargables en hardware.

Nota

Esta API puede tardar un período de tiempo no trivial en ejecutarse. Puede tardar hasta 200 ms en devolverse en algún hardware.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wingdi.h
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también