C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Как сформировать регион по картинке? / Алгоритмы / Borland C++

Как сформировать регион по картинке?

Автор: KAV
Исходная ссылка: - - -

Вроде бы можно так:
HRGN CreateRgnFromBitmap(Graphics::TBitmap *bmp, TPoint pPoint, bool bEqaul = true)
{
int f, x, y;
bool b = false;
HRGN Rgn, ResRgn = CreateRectRgn(0, 0, 0, 0);
for (y = 0; y < bmp->Height; y++)
 for (x = 0; x < bmp->Width; x++) 
 {
   if (!bEqaul^(bmp->Canvas->Pixels[x][y] != bmp->Canvas->Pixels[pPoint.x][pPoint.y])) 
   {
     if (!b) 
      {  f = x; b = true; }
     else
       if (x == (bmp->Width - 1)) 
       {
         Rgn = CreateRectRgn(f, y, x, y + 1);
         CombineRgn(ResRgn, ResRgn, Rgn, RGN_OR);
         b = false;
       }
   }
   else
     if (b)
     {
       Rgn = CreateRectRgn(f, y, x, y + 1);
       CombineRgn(ResRgn, ResRgn, Rgn, RGN_OR);
       b = false;
     }
 }
return ResRgn;
}