ďťż

Ładny brzuch

Czy można jakoś szybciej sprawdzić, czy coś się różni w linijce X niż sprawdzając pixel po pixelu?

----
m@il: ali88[at]tlen[dot]pl | GG: 2083160 | www: www.ali-home.prv.pl | ICQ: 199320712



Nie znam innej metody... Moze asm ?

//gg:2574115
//e-mailmigajek@yahoo.com
//Zapraszam na moją stronkę:http://www.migsoft.prv.pl

function Porownaj(Image1, Image2: TImage) : integer; var x, y: integer;  liczba: LongInt;  punkt1, punkt2: PByteArray;  procent: double; const max_roznica=5; begin  liczba:=0;  for y:=0 to image1.Picture.Bitmap.height-1 do begin    punkt1:=image1.Picture.Bitmap.scanline[y];    punkt2:=image2.Picture.Bitmap.scanline[y];    for x:=0 to image1.Picture.Bitmap.width-1 do      if abs(punkt1[x]-punkt2[x])>max_roznica then        inc(liczba);    if image1.Picture.Bitmap.height*image1.Picture.Bitmap.width>0 then      procent:=100*(liczba/(image1.Picture.Bitmap.height*      image1.Picture.Bitmap.width))    else      procent:=0;    Result := 100-round(procent);  end; end; Teraz jeszcze tylko posłużmy się nią Label1.Caption:= 'Rysunki podobne są do siebie w '+ IntToStr(Porownaj(Image1,Image2))+' procentach';
Image1 i Image2 to obiekty klasy TImage zawierające rysunki w formacie BMP. Funkcja nie jest skomplikowana, przeanalizuj ją, a zrozumiesz jak działa.

//----------------------
www.beldzio.com
Szukam betatesterów chętnych proszę o wpisanie się na www.beldzio.com/beta

Dzięki 8)

----
m@il: ali88[at]tlen[dot]pl | GG: 2083160 | www: www.ali-home.prv.pl | ICQ: 199320712

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •