crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в каким способом проще рисовать поверх рисунка
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 18.1.2008, 18:17
  точно, спасибо
ViGOur Дата 18.1.2008, 18:08
 
Цитата(ViGOur @ 18.1.2008, 17:49) *
Смотри в: %QTDIR%\demos\qtdemo там исходники найдешь... ;)
Litkevich Yuriy Дата 18.1.2008, 17:51
 
Цитата(ViGOur @ 18.1.2008, 20:49) *
Ну ты это ведь откомпилил!

Да похоже что не я, эта штука пускается так:
%QTDIR%/bin/qtdemo.exe
ViGOur Дата 18.1.2008, 17:49
 
Цитата(Litkevich Yuriy @ 18.1.2008, 17:29) *
это типа заставки у них, врядли исходник есть
Ну ты это ведь откомпилил! ;)
Смотри в: %QTDIR%\demos\qtdemo там исходники найдешь... ;)

Цитата(Litkevich Yuriy @ 18.1.2008, 17:29) *
про это-то и хотел как один объект привязать к другому, чтоб не руками. Может уже какой либо функционал есть
Будет время набросаю пример...
Litkevich Yuriy Дата 18.1.2008, 17:29
 
Цитата(ViGOur @ 18.1.2008, 17:23) *
щи в example, там подписано в каком разделе и как называется пример

это не пример, тот что с логотипом, это типа заставки у них, врядли исходник есть, штуковина прикольная ее двигать можно, упираясь в границу окна она сплющивается!

Цитата(ViGOur @ 18.1.2008, 17:23) *
а потом не рисуя по ней двигаешь и все

про это-то и хотел как один объект привязать к другому, чтоб не руками. Может уже какой либо функционал есть
ViGOur Дата 18.1.2008, 14:23
 
Цитата(Litkevich Yuriy @ 18.1.2008, 13:12) *
в "Qt Examples and Demos" их логоитп из двигающихся шариков, они двигаются как раз по траектории, только гдеб такой исходничек глянуть?
Ищи в example, там подписано в каком разделе и как называется пример.

А стрелку нужно двигать по мнимо нарисованной линии вдоль водонапорной башни. :)
Вроде того, что проводишь линию, для наглядности тестирования можешь ее сначала нарисовать, а потом не рисуя по ней двигаешь и все. :)
Litkevich Yuriy Дата 18.1.2008, 13:12
 
Цитата(ViGOur @ 18.1.2008, 16:03) *
С этим разберешься или помочь?

от подсказки бы не отказался, к стати в "Qt Examples and Demos" их логоитп из двигающихся шариков, они двигаются как раз по траектории, только гдеб такой исходничек глянуть?
ViGOur Дата 18.1.2008, 13:03
 
Цитата(Litkevich Yuriy @ 18.1.2008, 11:45) *
Еще коварный момент, стрелочка должна двигаться вдоль кромки, т.е. ее траектория не прямая линия, а ломаная.
С этим разберешься или помочь?
Litkevich Yuriy Дата 18.1.2008, 12:59
  ОЧЕНЬ даже БОЛЬШОЕ спасибо
ViGOur Дата 18.1.2008, 12:51
 
Цитата(Litkevich Yuriy @ 18.1.2008, 12:44) *
т.е. нарисовать все програмно? я думал это сложнее чем заливать полигон поверх рисунка.
Примерно вот так:
void testQtGui::paintrect( QPainter &painter, const QRect &rect, QLinearGradient &gradient)
{
    gradient.setColorAt( 0.0, Qt::white);
    gradient.setColorAt( 0.7, Qt::gray);
    gradient.setColorAt( 1.4, Qt::black);

    QBrush brush(gradient);
    painter.setBrush( brush);

    painter.drawRect( rect);
}

void testQtGui::paintEvent ( QPaintEvent * event)
{
    QPainter painter( this);

    QRect rect1( 120, 120, 100,200);
    QLinearGradient gradient1( rect1.left(), rect1.top() + rect1.bottom()/2, rect1.right(), rect1.top() + rect1.bottom()/2);

    QRect rect2( 20, 120, 100,200);
    QLinearGradient gradient2( rect2.right(), rect2.top() + rect2.bottom()/2, rect2.left(), rect2.top() + rect2.bottom()/2);
    
    paintrect( painter, rect1, gradient1);
    paintrect( painter, rect2, gradient2);
}
Это я нарисовал только нижнюю часть, верхняя примерно также... ;)
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 23:53