Название: заполнение произвольной области в qt Отправлено: Tirex от Май 14, 2005, 19:23 как заполнить произвольную область нужным цветом? Например треугольник рисую по точкам на QPixmap, область замкнута.
Название: заполнение произвольной области в qt Отправлено: Admin от Май 14, 2005, 20:39 мне кажется алгоритм заливки самому придется писать!
обычно такую задачу на олимпиадах дают Название: заполнение произвольной области в qt Отправлено: Tirex от Май 14, 2005, 21:41 неужели в qt нет такой нужной вещи? :shock:
а насчет написать во 1-ых не знаю с чего начать а во 2-ых вдруг неоптимально напишу. Может пример у кого есть. Поделитесь плиз. Название: заполнение произвольной области в qt Отправлено: Hellenna от Май 14, 2005, 22:02 а QCanvasPolygon не подходит?
Название: заполнение произвольной области в qt Отправлено: Tirex от Май 14, 2005, 22:12 а можно маааленький примерчик ну хоть 3-4 строчки.
Название: заполнение произвольной области в qt Отправлено: Tirex от Май 15, 2005, 08:53 Сам ответ нашел
QPainter p QPointArray pa(3); pa[0] = QPoint(100, 100); pa[1] = QPoint(200, 200); pa[2] = QPoint(300, 300); p.setBrush( QColor(0xffffff) ); p.drawPolygon(pa); собственно знал что не может быть такого чтобы не было такой вещи. Почи как в java. просто и гениально :) Название: заполнение произвольной области в qt Отправлено: Racheengel от Май 16, 2005, 08:52 Да, но есть одна проблема - если количество точек достаточно больное (порядка нескольких тысяч), функции отрисовки полигонов и полилайнов почему-то (иногда) виснут. У меня была задача отрисовки графика по точкам (большого, точек на 90000), так пришлось отрисовку вручную делать (через QPainre::drawLine).
Название: заполнение произвольной области в qt Отправлено: Admin от Май 16, 2005, 09:27 а тут начинаются такие проблемы:
если у тебя разрешение экрана 1024 точки по X зачем тебе выводить 90000 точек прореживай их! но алгоритм прореживания не должен быть простым!! Название: заполнение произвольной области в qt Отправлено: Racheengel от Май 16, 2005, 09:35 алгоритм я сделал, теперь точек 900 выводится. но пилилайн все равно иногда виснет :( видать, баг.
Название: заполнение произвольной области в qt Отправлено: Admin от Май 16, 2005, 09:52 когда зависнет
попробуй сделать atach to process из дебагера PS: а не легче qwt использовать? или там нет таких возможностей! Название: заполнение произвольной области в qt Отправлено: Racheengel от Май 16, 2005, 10:11 в том-то и дело... что в QWT этот баг не решили, юзают полилайн из Qt...
Название: заполнение произвольной области в qt Отправлено: Admin от Май 16, 2005, 12:19 варианты:
1. Послать баг TrollTech 2. Отладить и шаг 1. Название: заполнение произвольной области в qt Отправлено: Tirex от Май 16, 2005, 18:52 Спасибо за полезную информацию
но поле у меня маленькое так что пока polygons устраивает. |