Compartir a través de


Función CMTranslateRGBsExt (icm.h)

Convierte un mapa de bits de un formato definido en un formato definido diferente y llama a una función de devolución de llamada periódicamente, si se especifica, para notificar el progreso y permitir que la aplicación que realiza la llamada finalice la traducción.

Sintaxis

BOOL CMTranslateRGBsExt(
  HCMTRANSFORM   hcmTransform,
  LPVOID         lpSrcBits,
  BMFORMAT       bmInput,
  DWORD          dwWidth,
  DWORD          dwHeight,
  DWORD          dwInputStride,
  LPVOID         lpDestBits,
  BMFORMAT       bmOutput,
  DWORD          dwOutputStride,
  LPBMCALLBACKFN lpfnCallback,
  LPARAM         ulCallbackData
);

Parámetros

hcmTransform

Especifica la transformación de color que se va a usar.

lpSrcBits

Puntero al mapa de bits que se va a traducir.

bmInput

Especifica el formato de mapa de bits de entrada.

dwWidth

Especifica el número de píxeles por línea de examen en el mapa de bits de entrada.

dwHeight

Especifica el número de líneas de examen en el mapa de bits de entrada.

dwInputStride

Especifica el número de bytes desde el principio de una línea de examen hasta el principio del siguiente en el mapa de bits de entrada. Si dwInputStride está establecido en cero, CMM debe suponer que las líneas de examen se rellenan para que estén alineadas con DWORD.

lpDestBits

Apunta a un búfer de destino en el que se va a colocar el mapa de bits traducido.

bmOutput

Especifica el formato de mapa de bits de salida.

dwOutputStride

Especifica el número de bytes desde el principio de una línea de examen hasta el principio del siguiente en el mapa de bits de entrada. Si dwOutputStride está establecido en cero, CMM debe rellenar las líneas de examen para que estén alineadas con DWORD.

lpfnCallback

Puntero a una función de devolución de llamada proporcionada por la aplicación llamada periódicamente por CMTranslateRGBsExt para notificar el progreso y permitir que el proceso de llamada cancele la traducción. (Consulte ICMProgressProcCallback).

ulCallbackData

Los datos pasados a la función de devolución de llamada, por ejemplo, para identificar la traducción que notifica el progreso.

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 y CMM debe llamar a SetLastError para establecer el último error en un valor de error válido definido en Winerror.h.

Comentarios

Cada CMM es necesario para exportar esta función.

Al escribir en el búfer de destino, CMM debe asegurarse de que las líneas de examen se rellenan para que estén alineadas con DWORD.

Si los formatos de entrada y salida no son compatibles con la transformación de color, se produce un error en esta función.

Si los formatos de mapa de bits de entrada y salida son de 3 canales, 4 bytes por píxel como en el caso de BM_xRGBQUADS, se deben conservar y copiar los cuartos bytes en el búfer de salida.

Si la función de devolución de llamada devuelve cero, el procesamiento debe cancelarse y CMTranslateRGBsExt debe devolver cero para indicar el error; El búfer de salida puede rellenarse parcialmente.

Tenga en cuenta que esta función debe admitir la traducción local. Es decir, siempre que la superficie de memoria de la salida sea menor o igual que la superficie de memoria de la entrada, esta función debe poder traducir los colores del mapa de bits incluso si los búferes de origen y destino son los mismos.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado icm.h

Consulte también