freeimage.h

FreeImage_CreateView

DLL_API FIBITMAP *DLL_CALLCONV FreeImage_CreateView(FIBITMAP *dib, unsigned left,
unsigned top, unsigned right, unsigned bottom);

Crea una vista dinámica de lectura/escritura en un mapa de bits FreeImage.

Una vista dinámica es un mapa de bits FreeImage con su propia anchura y altura que, sin embargo, comparte sus bits con otro mapa de bits FreeImage. Normalmente, las vistas se usan para definir una o más subimágenes rectangulares en un mapa de bits existente. Todas las operaciones de FreeImage, como el guardado, visualización y todas las funciones del toolkit, cuando se aplican a una vista, sólo afectan al área rectangular de la vista.

Aunque los bits de la imagen de respaldo de la vista no necesitan ser copiados, lo que hace que la vista sea mucho más rápida que una solución equivalente usando FreeImage_Copy, una vista usa algo de memoria privada que es necesario liberar mediante una llamada a FreeImage_Unload sobre el manipulador de la vista para evitar pérdidas de memoria.

Sólo los pixels de la imagen de respando son compartidos por la vista. Para el resto de los datos de la imagen, especialmente en lo que se refiere a resolución, color de fondo, colores de paleta, tabla de transparencia y el perfil ICC, la vista dispone su copia privada de los datos. Por defecto, los metadatos de la imagen de respaldo no son copiados a la vista.

Al igual que el resto de funciones FreeImage que trabajan con una región rectangular, las posiciones top y left están incluidas, mientras que las posiciones right y bottom están exbluidas del área.

Dado que el bloque de memoria compartido entre la imagen de respaldo y la vista deben empezar en el mismo límite de byte, el valor del parámetro left debe ser un múltiplo de 8 para imágenes de 1-bit y un múltiplo de 2 para imágenes de 4-bit.

Parámetros

  • dib: EL mapa de bits FreeImage en el que se creará la vista.
  • left: La posición izquierda del área de la vista.
  • top: La posición superior del área de la vista.
  • right: La posición derecha del área de la vista.
  • bottom: La posición inferior del área de la vista.

La función retorna un manipulador a la nueva vista creada o NULL si la vista no pudo ser creada.