Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 10:19   #1
boris-blade
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 53
По умолчанию Графические методы

Подключил классы Drawing, Graphics, Drawing2D
Полазил в инете - не нашел. Интересуют методы:
1 Скопировать из изображения прямоугольник (х/у/width/height) и сделать на его базе новое изображение
2 Найти координаты первого вхождения с нужной стороны (слвева сверху/справа сверзу/слева снизу/справа снизу)пиксела заданного цвете в изображении
3 Сделать скриншот
boris-blade вне форума Ответить с цитированием
Старый 17.03.2010, 10:33   #2
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

http://www.geekpedia.com/tutorial181...ng-Csharp.html

Это по поводу скрина
MeTeOpA вне форума Ответить с цитированием
Старый 17.03.2010, 10:36   #3
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

static public Bitmap Copy(Bitmap srcBitmap, Rectangle section)
{
// Create the new bitmap and associated graphics object
Bitmap bmp = new Bitmap(section.Width, section.Height);
Graphics g = Graphics.FromImage(bmp);

// Draw the specified section of the source bitmap to the new one
g.DrawImage(srcBitmap, 0, 0, section, GraphicsUnit.Pixel);

// Clean up
g.Dispose();

// Return the bitmap
return bmp;
}

С трудом верится что искали...
MeTeOpA вне форума Ответить с цитированием
Старый 17.03.2010, 10:47   #4
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

http://www.gotdotnet.ru/forums/3/57546/
MeTeOpA вне форума Ответить с цитированием
Старый 17.03.2010, 19:55   #5
boris-blade
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 53
По умолчанию Как задать цвет?

спасибо за ответы
пишу метод обнаружения окна на скриншоте:
Код:
public class TableView_class
    {
        
        string ImageFileName=@"D:\Documents and Settings\Борис\Мои документы\Мои рисунки\1.bmp";
        public Rectangle TableDrawing;
        public Color SuitDiamondColor;
        public Color CurrentColor;
        public Color TableBorderColor;

         bool BreakTheCycle;
        Bitmap PictureFromFile;

        public  void RecognizeTableDrawing()
        {
            
            TableBorderColor.R = 212; //ругаеццо тут
            TableBorderColor.G = 208; 
            TableBorderColor.B = 200;
            TableBorderColor.A = 0;


            PictureFromFile = new Bitmap(ImageFileName);
            BreakTheCycle = false;
            for (int i = 1; i <= PictureFromFile.Width; i++)
            {
                for (int j = 1; j <= PictureFromFile.Height; j++)
                {
                    CurrentColor = PictureFromFile.GetPixel(i, j);
                    if (CurrentColor == TableBorderColor)
                    {
                        TableDrawing.X = i;
                        TableDrawing.Y = j;
                        BreakTheCycle = true;
                        break;
                    }
                }
                if (BreakTheCycle) break;
            }
            BreakTheCycle = false;

            for (int i = PictureFromFile.Width; i >= 0; i--)
            {
                for (int j = PictureFromFile.Height; j >= 0; j--)
                {
                    CurrentColor = PictureFromFile.GetPixel(i, j);
                    if (CurrentColor == TableBorderColor)
                    {
                        TableDrawing.Width = i - TableDrawing.X;
                        TableDrawing.Height = j - TableDrawing.Y;
                        BreakTheCycle = true;
                        break;
                    }
                }
                if (BreakTheCycle) break;
            }
            savePicture(PictureFromFile, TableDrawing);
        }
        public static void savePicture(Bitmap srcBitmap, Rectangle section)
        {
            
            
            Bitmap bmpSave = new Bitmap(section.Width, section.Height);
            Graphics g = Graphics.FromImage(bmpSave);
            g.DrawImage(srcBitmap, 0, 0, section, GraphicsUnit.Pixel);
            bmpSave.Save(@"D:\Documents and Settings\Борис\Мои документы\Мои рисунки\res1.bmp");
            g.Dispose();
        }

        }
пишет Ошибка 14 Невозможно присвоить значение свойству или индексатору "System.Drawing.Color.A" -- доступ только для чтения
boris-blade вне форума Ответить с цитированием
Старый 19.03.2010, 22:35   #6
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

Правильно что ругается...=)

потому что А это не цвет...

Как исправить не подскажу сори...
MeTeOpA вне форума Ответить с цитированием
Старый 19.03.2010, 22:40   #7
Rid
Пользователь
 
Регистрация: 02.12.2008
Сообщений: 35
По умолчанию

TableBorderColor.A = 0; - это вроде альфаКанал - точнее прозрачность!
Rid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графические фильтры Olaf Общие вопросы C/C++ 1 19.02.2010 12:04
Графические искажения fire_on Паскаль, Turbo Pascal, PascalABC.NET 8 12.08.2009 20:42
графические форматы bill Свободное общение 5 14.08.2007 20:19