Delphi World - Попиксельное сравнение картинок
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Попиксельное сравнение картинок

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure TForm1.Button1Click(Sender: TObject);
 var
   b1, b2: TBitmap;
   c1, c2: PByte;
   x, y, i,
   different: Integer; // Counter for different pixels 
begin
   b1 := Image1.Picture.Bitmap;
   b2 := Image2.Picture.Bitmap;
   Assert(b1.PixelFormat = b2.PixelFormat); // they have to be equal 
  different := 0;
   for y := 0 to b1.Height - 1 do
   begin
     c1 := b1.Scanline[y];
     c2 := b2.Scanline[y];
     for x := 0 to b1.Width - 1 do
       for i := 0 to BytesPerPixel - 1 do // 1, to 4, dep. on pixelformat 
      begin
         Inc(different, Integer(c1^ <> c2^));
         Inc(c1);
         Inc(c2);
       end;
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования