Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Как нарисовать пунктирный прямоугольник "муравьи"


Автор: opozdaika 16.11.2009, 17:36
Есть изображение, на котором я хотел бы выделить кое-что важное с помощью квадратного прямоугольника. Чтобы он сразу бросался в глаза, хочу сделать его из движущихся "муравьев" (как будто они бегут др. за др.) А чтобы было красиво, хочу сделать закругленные углы. В Инете нашел только примеры с использованием низкоуровневого Win32 API (ну, знаете там всякие CreatePen, GetStockObject и д.п.) ВОПРОС: можно ли сделать такое с использованием только обычных .Net средств? По принципу:
Код
private void ImageControl_Paint(object sender, PaintEventArgs e)
{
       e.Graphics.DrawПрямоугольникСЗакругленнымиУгламиИМуравьями(MyRect, Color.Red);
}

Автор: opozdaika 16.11.2009, 19:57
Ну хорошо, смирился я с тем, что придется делать 
Код

hPen = CreatePen(PS_DOT , 1, RGB(254, 0, 0));
hBrush = GetStockObject(NULL_BRUSH);
hOldPen = SelectObject(hdc, hPen);
hOldBrush = SelectObject(hdc, hBrush);
RoundRect(hdc, 5, 3, 60, 60, 10, 10);

Но может быть кто-нибудь подскажет, как анимировать эффект "бегущих муравьев"?
Я могу по таймеру перерисовывать квадратик выделения. НО КАК СДВИНУТЬ ФАЗУ следования белых и черных точек?
Слышал, что есть функции для создания паттернов. Типа, я задаю массив нулей и едениц, которые означают белые и черные участки на линии. Тогда бы я создал три паттерна со здвигом фазы и чередовал бы их по таймеру. Получился бы эффект движения.

Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)