Red de conocimiento informático - Problemas con los teléfonos móviles - Programación VC: abrir mapa de bits DIB mediante serialización

Programación VC: abrir mapa de bits DIB mediante serialización

Hablaré de esta idea. El código específico es demasiado problemático, lo siento.

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.