Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Работа с изображением в VB.NET

2 views
Skip to first unread message

Stanislav Krichmar

unread,
Dec 6, 2008, 2:15:21 PM12/6/08
to
Hello everybody.

Читает ли еще кто эху? Hа всякий случай - спрошу.

Возникла задача:
Предположим, имеется пикчербокс с изображением, скажем, морды лица:) Я мышкой
выделяю некую произвольную область (примерно как в фотошопе - от точки к точке
тянется пунктир, далее он замыкается). Количество выделенных областей-
произвольно. Как-то это запоминается... Далее, я открываю снова эту картинку,
тыкаю в произвольное место картинки и - вот тут я должен программно определить:
попал ли я точкой в некоторую заранее определенную область, и в какую
конкретно. Т.е. меня просят: укажи, где нос? Я тык мышкой! А программа
отвечает: не угадал! вот он нос!!!

Скажем, проблему выделения видимо решить можно. Hе делал, но решение в голове
созревает. Положим, сохранение координат (x1y1, x2y2... для зоны1 и т.д.)
решаемо. А вот как определить вхождение произвольной точки в область,
ограниченную координатами зон? Форма зоны - абсолютно любая.

Может есть какие мысли идеи? Или кто что слышал про такое? Хочется решение на
VB.NET, без сторонних приблуд типа флэш и т.п.

Stanislav

Alexandr Galitskij

unread,
Dec 6, 2008, 7:23:54 PM12/6/08
to
Здоpовица Вам, Stanislav!

И был pазговоp _06 декабpя 2008_ по вpемени в _22:15_, *Stanislav Krichmar* к
*All* о "Работа с изобpажением в VB.NET"

SK> Скажем, пpоблемy выделения видимо pешить можно. Hе делал, но pешение в
SK> голове созpевает. Положим, сохpанение кооpдинат (x1y1, x2y2... для
SK> зоны1 и т.д.) pешаемо. А вот как опpеделить вхождение пpоизвольной
SK> точки в область, огpаниченнyю кооpдинатами зон? Фоpма зоны - абсолютно
SK> любая.

SK> Может есть какие мысли идеи? Или кто что слышал пpо такое? Хочется
SK> pешение на VB.NET, без стоpонних пpиблyд типа флэш и т.п.
Еcли замкнyтая зона, хpани тpафаpет. Т.е. pазмеp тот же, но из двyх
значений внyтpи/cнаpyжи. Самое пpоcтое, закpаcь внyтpи зоны чеpным, cнаpyжи
белым. И по цветy опpеделяй, попал или нет. :)
Как pешать не подcкажy, мое дело алгоpитмы а не пpогpаммы.

Ухожy не пpощаясь, Alexandr.
Чеpти что! ... и сбокy Батник.
... Hет хyда без добpа. (Плиний Младший)

Sergey Broudkov

unread,
Dec 7, 2008, 5:31:17 AM12/7/08
to
Hello, Stanislav!
You wrote to All on Sat, 06 Dec 2008 22:15:21 +0300:

SK> Читает ли еще кто эху? Hа всякий случай - спрошу.

SK> Возникла задача:
SK> Предположим, имеется пикчербокс с изображением, скажем, морды лица:) Я
SK> мышкой выделяю некую произвольную область (примерно как в фотошопе - от
SK> точки к точке тянется пунктир, далее он замыкается). Количество
SK> выделенных областей- произвольно. Как-то это запоминается...

Это "как-то" называется регионом. Читай про класс Region.

SK> Далее, я открываю снова эту картинку, тыкаю в произвольное место
SK> картинки и - вот тут я должен программно определить: попал ли я точкой
SK> в некоторую заранее определенную область, и в какую конкретно. Т.е.
SK> меня просят: укажи, где нос? Я тык мышкой! А программа отвечает: не
SK> угадал! вот он нос!!!

SK> Скажем, проблему выделения видимо решить можно. Hе делал, но решение в
SK> голове созревает. Положим, сохранение координат (x1y1, x2y2... для
SK> зоны1 и т.д.) решаемо.

Конструктор региона принимает параметром GraphicsPath, который есть
последовательность отрезков и кривых.

Читай для примера "How to: Create Figures from Lines, Curves, and Shapes".

SK> А вот как определить вхождение произвольной точки в область,
SK> ограниченную координатами зон? Форма зоны - абсолютно любая.

SK> Может есть какие мысли идеи? Или кто что слышал про такое? Хочется
SK> решение на VB.NET, без сторонних приблуд типа флэш и т.п.

System.Drawing.Region.IsVisible(Point)

--
Regards,
Sergey Broudkov
sb...@geocities.com
ICQ #4841919

0 new messages