se la fuzione restituisce true allora l'immagine è una parte dell'altra immagine, altrimenti nocodice:publicstaticboolConfrontoImmagini(Bitmap imm1,Bitmap imm2) { /* imm1 è l'immagine normale imm2 è l'immagine ritagliata */ int w1 = imm1.Width, h1 = imm1.Height; // ottengo la larghezza dell'immagine sulla variabile w1, ottengo l'altezza dell'immagine su h1 int w2 = imm2.Width, h2 = imm2.Height; // ottengo la larghezza dell'immagine sulla variabile w2, ottengo l'altezza dell'immagine su h2 bool a =false; for(int wImm =0; wImm != w1; wImm++) // faccio un ciclo per controllare tutti i pixel in larghezza dell'immagine img1 { for(int hImm =0; hImm != h1; hImm++) // faccio un ciclo per controllare tutti i pixel in altezza dell'immagine img1 { if((w1 - wImm)- w2 >=0&&(h1 - hImm)- h2 >=0) // se la grandezza in pixel dell'immagine img1 non controllata è almeno grande come l'immagine img2 { if(imm1.GetPixel(wImm, hImm)== imm2.GetPixel(0,0)) // se il pixel di img1 nelle coordinate wImm hImm è uguale al primo pixel di img2 for(int wImm2 =0; wImm2 != w2; wImm2++) // faccio due cicli per controllare se i pixel successivi sono uguali ad img2 { for(int hImm2 =0; hImm2 != h2; hImm2++) { if(imm1.GetPixel(wImm + wImm2, hImm + hImm2)== imm2.GetPixel(wImm2, hImm2)) a =true; else{ a =false;break;} } if(!a)break; } } //else { wImm = w1; hImm = h1; } if(a)break; } if(a)break; } return a; }

Rispondi quotando