Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo abrir dos imágenes BMP en VC++?

¿Cómo abrir dos imágenes BMP en VC++?

Lea dos imágenes en la memoria, primero compare el largo y el ancho, y luego compare los valores de color de cada punto. Consulte el código a continuación.

Mem1. CreateCompatibleDC(0);

mapa de hbit antiguo 1 =(mapa de hbit)mem 1. seleccione objeto(m_image 1);

Mem2CreateCompatibleDC(0);

HBITMAP old2=(HBITMAP)Mem2. seleccione objeto(m_image2);

COLORREF c1, C2;

DIBSECCIÓN ds1, ds2

BITMAPINFOHEADER & ampBM 1 = ds 1 ;

DIBSECCIÓN ds1, ds2

p>

GetObject(m_image1, sizeof(ds1), & ampds 1);

int w 1 = BM 1 bi ancho;

int h 1 = BM 1 altura BIH;

BITMAPINFOHEADER & ampbm2 = ds2.dsBmih

GetObject(m_image2, sizeof(ds2), & ampds2) ;

int w2 = bm2 .bi ancho;

int H2 = BM 2 .

if (w1!=w2 || h1!=. h2) devuelve false

CPoint point

for(point . x = 1; point.x & lt= w 1; point.x++)

for (punto . y = 1; punto.y & lt= h 1; punto.y++)

{

c1=Mem1. GetPixel(punto);

c2=Mem2. GetPixel(point);

if(c 1-C2 & gt; 150000)

{

ng++ //Esto se refiere a diferentes diferencias numéricas Algo es diferente.

}

si no está bien++;

//if(ok/(ok+ng)<0.8) devuelve falso

}