FreeImage_LoadU
Esta función funciona exactamente igual que FreeImage_Load pero soporta nombres de fichero UNICODE. Nótese que esta función sólo funciona en sistemas operativos MS Windows. En otros sistemas, la función no hace nada, y retorna NULL.
Sintaxis
DLL_API FIBITMAP *DLL_CALLCONV FreeImage_LoadU(FREE_IMAGE_FORMAT fif, const wchar_t *filename, int flags FI_DEFAULT(0));
Parámetros
fif: Define el tipo de mapa de bits a cargar.
filename: Nombre del fichero a cargar.
flags: Flags opcionales.
Tipo de mapa de bits | Flag | Descripción |
---|---|---|
<cualquier tipo> | FIF_LOAD_NOPIXELS | Cuando éste flag está soportado por el plugin, sólo se cargan los datos de cabecera
y posibles metadatos (incluyendo la miniatura incrustada)1 Cuando el flag no está soportado, se cargan los pixels. |
FIF_GIF | GIF_DEFAULT | |
GIF_LOAD256 | Carga la imagen como una imagen de 256 colores con entradas de la paleta sin usar, si es de 16 ó 2 colores. | |
GIF_PLAYBACK | 'Reproduce' el GIF para generar cada cuadro (como) 32bpp) en lugar de retornar los datos de cuadros en bruto cuando se cargue. | |
FIF_ICO | ICO_MAKEALPHA | Convertir a 32-bit y crear un canal alfa a partir de la máscara AND al cargar. |
FIF_JPEG | JPEG_DEFAULT | Cargar el ficharo tan rápido como sea posible, sacrificando algo de calidad. |
JPEG_FAST | Cargar el ficharo tan rápido como sea posible, sacrificando algo de calidad. | |
JPEG_ACCURATE | Cargar el ficharo con la mejor calidad, sacrificando algo de velocidad. | |
JPEG_CMYK | Este flag cargará mapas de bits CMYK como 32-bit CMYK separados (usar | para combinar con otros flags de carga). | |
JPEG_GREYSCALE | Carga y convierte a imagen de 8 bits en escala de grises (más rápido que cargar como 24-bit y convertir a 8-bit). | |
Entero X tal que flags = flags | (X << 16) | Carga y redimensiona el fichero tal que tamaño/X = max(ancho, alto)/X retornará una imagen escalada por 2, 4 u 8 (es decir, el tamaño requerido más apropiado).2 | |
JPEG_EXIFROTATE | Carga y rota de acuerdo con la etiqueta Exif 'Orientation' si está disponible. | |
FIF_JXR | JXR_DEFAULT | |
FIF_PCD | PCD_DEFAULT | Una imagen PhotoCD viene en muchos tamaños. Este flag cargará el de tamaño 768 x 512 |
PCD_BASE | Este flag cargará el de tamaño 768 x 512 | |
PCD_BASEDIV4 | Este flag cargará el de tamaño 384 x 256 | |
PCD_BASEDIV16 | Este flag cargará el de tamaño 192 x 128 | |
FIF_PNG | PNG_IGNOREGAMMA | Evita la corrección gamma en la carga. |
FIF_PSD | PSD_DEFAULT | Carga y convierte a RGB[A]. |
PSD_CMYK | Lee etiquetas para CMYK separados (por defecto se convierte a RGB). | |
PSD_LAB | Lee etiquetas para CIELab (por defecto se convierte a RGB). | |
FIF_RAW | RAW_DEFAULT | Carga el fichero como RGB lineal de 48-bit. |
RAW_PREVIEW | Intenta cargar la vista previa JPEG incrustada incluyendo datps Exif o por defecto a RGB 24-bit. | |
RAW_DISPLAY | Carga el fichero como RGB 24-bit. | |
RAW_HALFSIZE | Da como salida una imagen en color de mitad de tamaño. | |
RAW_UNPROCESSED | Da como salida una imagen Bayer en bruo FIT_UINT16.3 | |
FIF_TARGA | TARGA_LOAD_RGB888 | Si está activo se convierte de RGB555 y ARGB8888 -> RGB888. |
FIF_TIFF | TIFF_CMYK | Este flag cargará mapas de bits CMYK como CMYK separados (por defecto es conversión a RGB). |
FIF_WEBP | WEBP_DEFAULT |
Tabla 3: Constantes de decodificación opcionales.
Valor de retorno
Esta función retorna un FIBITMAP.
Observaciones
En lugar de indicar un valor fijo en el código para FREE_IMAGE_FORMAT cuando se llame a FreeImage_LoadU, es preferible usar una de las funciones de tipo de fichero de FreeImage, como FreeImage_GetFileType para diseñar un código más genérico, independiente de posibles cambios futuros en el API.
1 Ver FreeImage_HasPixels para ver un ejemplo de uso.
2 Ver FreeImage_MakeThumbnail para ver un ejemplo de uso.
3 Ver el modelo de metatados FIMD_COMMENTS para más información.