Programación VC: abrir mapa de bits DIB mediante serialización
1) Si desea serializar, el mejor caso es que la clase DIB sea una subclase derivada de la clase CObject, de modo que pueda sobrecargar la función específica de serialización Serialize. Si no es una subclase de CObject, DIB es una clase ya preparada, por lo que es más problemático para los principiantes modificarla. Puede hacerlo creando su propia subclase CObject y convirtiendo el DIB en una clase miembro de esa clase.
2) Las partes más importantes de DIB son la Sección DIB y los Bits DIB. Sobrecargue la serialización existente de la clase mencionada en 1). Dado que CArchive ya admite la serialización BYTE, solo necesita proporcionar la sección DIB y los bits DIB como BYTE a CArchive. IsStoring()) {
//Escribe el DIB en la memoria en el archivo
PBTYE pDIBSection = (PBYTE)amp; , m_DIBSection es la sección DIB
For (int i = 0; i lt; sizeof(BITMAPINFOHEADER); i) {
ar lt; *pDIBSection
}
} más {
///Leer DIB del archivo
...
}
>...
Dicho código puede serializar secciones DIB.
3) En tu programa no sabes en qué clase debes poner el DIB, asumiendo que es un CDocument.