Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

Цыба


Молчун

Зарегистрирован:
14 March 2008
Сообщения: 20
Примеры кода: 0
 

GDI+

20 March 2008 19:19  


Кстати, самому стало интересно, как решается такая проблема средствами GDI+, и нашёл на Google пример, который работает аналогично примеру из книги Фленова.

private Region GetRegion(Bitmap _img, Color color)
{
      Color _matchColor=Color.FromArgb(color.R,color.G,color.B);
      System.Drawing.Region rgn= new Region();
      rgn.MakeEmpty();
      Rectangle rc=new Rectangle(0,0,0,0);
      bool inimage=false;
      for(int y=0; y <_img.Height;y++)
      {
            for(int x=0;x<_img.Width;x++)
            {
                  if(!inimage)
                  {
                        if(_img.GetPixel(x,y)!=_matchColor)
                        {
                              inimage=true;
                              rc.X=x;
                              rc.Y=y;
                              rc.Height=1;
                        }
                  }
                  else
                  {
                        if(_img.GetPixel(x,y)==_matchColor)
                        {
                              inimage=false;
                              rc.Width=x-rc.X;
                              rgn.Union(rc);   
                        }
                  }
                                         

            }
            if(inimage)
            {
                  inimage=false;
                  rc.Width=_img.Width-rc.X;
                  rgn.Union(rc);   
            }
      }
      return rgn;
 }


Источник примера

Хотя и самому не верится, что это оптимальный пока вариант.

We are the nobodies

Данное сообщение получено с сайта GotDotNet.RU
Наверх
  



Общие вопросы программирования на ASP.NET

 GDI+Студент  20 March 2008 16:48
 GDI+becks  20 March 2008 16:50
 GDI+Цыба  20 March 2008 19:06
 GDI+Цыба  20 March 2008 19:19
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта