Как создать Регион?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Как создать Регион?

Сообщение 575-61 » 21.02.2006 (Вт) 20:15

Я на ... нарисовал замкнутую фигуру.
Возможноли в Api, по контуру фигуры сделать регион?
Точнее какая функция может считать точки в регион?
Очень надо...Спасибо!
Всё относительно и всё есть - логический хаос.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 21.02.2006 (Вт) 20:17

BeginPath,EndPath, PathToRegion :)
Если всё делать своими ручками, они скоро отвалятся !

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 21.02.2006 (Вт) 21:10

Огромное спасибо за отклик!
Через Path я делаю, хотелось снизить кол-во операций.
Всё относительно и всё есть - логический хаос.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 21.02.2006 (Вт) 21:26

575-61
Через точки, DIB bits ещё дольше :roll:
Если всё делать своими ручками, они скоро отвалятся !

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 21.02.2006 (Вт) 22:26

Согласен.
Всё относительно и всё есть - логический хаос.

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 22.02.2006 (Ср) 3:04

Из замкнутой фигуры CreatePolygonRgn делает регион.
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 22.02.2006 (Ср) 9:17

В том случае если точки определены в массив.
У меня рисование происходит сложным вычислением цветов.
Используются функции различных Draw.
Если я начинаю рисовать через массив точек Poly.. , просходит смещение к примеру: Нарисовав дугу в Path, потом Вы берете уже нарисованные точки и определяите в массив и пытаитесь вывести на hdc, то некоторые точки не попадают в заданные координаты.
Почему это происходит я незнаю.
Если решить эту проблему, то все возможно ...!
Всё относительно и всё есть - логический хаос.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.02.2006 (Ср) 9:23

575-61, тебя очень тяжело понимать.
Нельзя ли привести пример кода?
Изображение

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 22.02.2006 (Ср) 10:59

Вот состряпал пример кода.
Белым выступает лишнее.
Всё относительно и всё есть - логический хаос.

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 22.02.2006 (Ср) 11:07

Непонял, а где файл?
Пробую еще раз.
Вложения
Sample.zip
Щелкните мышкой по форме.
(1.01 Кб) Скачиваний: 37
Всё относительно и всё есть - логический хаос.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.02.2006 (Ср) 16:51

Вот так как будто бы нормально рисует чёрную линию:
Код: Выделить всё
  MoveToEx Me.hdc, 100, 101, ByVal 0&
  ArcTo Me.hdc, 110, 111, 300, 251, 180, 181, 250, 251
Изображение

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 22.02.2006 (Ср) 18:00

Да, я знаю, но это подгонка, а докапаться до истины не могу.
Просто берет и странным образом сдвигается.
Поэтому я ищу другое решение для открытия региона.
Всеравно спасибо за совет!
Всё относительно и всё есть - логический хаос.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.02.2006 (Ср) 18:35

Это не подгонка. Это сдвиг вниз ровно на 1 пиксел.
Изображение

575-61
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2005 (Пт) 8:09
Откуда: г.Ростов-на-Дону

Сообщение 575-61 » 23.02.2006 (Чт) 15:13

Если это сдвиг вниз, то почему Вы переопределяите только X?
Этого недолжно быть.
Скорей всего где-то я упускаю определение или переопределение Draw.
По умолчанию - значения Draw в этом случае неподходят.
Есть мысль о смещении, при вписывании в фигуру, попробую заняться пером. Дело в том, что рисую открытые фигуры, а использую совмесно с закрытими, а здесь действительно как Вы говорите .. о сдвиге на пиксель... , но не всегда вниз.
В моей памяти я как-то использовал переопределение пера, но в LOGPEN цвет перезадается только для геометрических перьев, а у меня косметические перья. Опять загвоздка вот я и вышел на форум с этим нелепым вопросом.
Спасибо за внимание к теме, но считаю, что если мне никто не поможет, то сам долго еще буду думать. Просто я привык работать в комманде, так быстрее и веселее. Необезательно точный ответ на вопрос, важно даже логическое направление наталкивающее на мысль, как и в настоящем случае.
Всё относительно и всё есть - логический хаос.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 78

    TopList  
cron