Russian Qt Forum
Ноябрь 23, 2024, 23:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
копирование выделенных пикселей
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: копирование выделенных пикселей (Прочитано 3340 раз)
upsny
Гость
копирование выделенных пикселей
«
:
Декабрь 16, 2012, 11:29 »
здравствуйте. помогите пожалуйста разобраться с выделением области изображения. мне нужно запомнить выделенную область, и желательно чтобы эта самая выделенная область была изображена(рамка). выделял я с помощью rubberband, и не пойму, сохранилась ли область или нет...
вот кусок кода:
QImage src;
QImage dst;
QPoint origin;
QRubberBand *rubberBand;
void MainWindow::mousePressEvent(QMouseEvent *event)
{
origin = event->pos();
rubberBand = new QRubberBand(QRubberBand::Rectangle, this);
rubberBand->setGeometry(QRect(origin, QSize()));
rubberBand->show();
mySelection * sel1 = new mySelection ();
sel1->setPointFirst(origin);
cout << sel1->first.x();
}
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
rubberBand->setGeometry(QRect(origin, event->pos()).normalized());
}
void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
rubberBand->hide();
}
и добавленный хедер
class QPoint;
class mySelection
{
public:
QPoint first;
QPoint second;
void setPointFirst (QPoint p);
void setPointSecond (QPoint p);
};
void mySelection::setPointFirst(QPoint p)
{
this->first = p;
}
void mySelection::setPointSecond(QPoint p)
{
this->second = p;
}
«
Последнее редактирование: Декабрь 16, 2012, 11:30 от upsny
»
Записан
mutineer
Гость
Re: копирование выделенных пикселей
«
Ответ #1 :
Декабрь 16, 2012, 11:42 »
Мда, память у тебя течет ручьем...
Так а куда ты хочешь эту самую область сохранить? И в какой момент ты ждешь что она сохранится?
Записан
upsny
Гость
Re: копирование выделенных пикселей
«
Ответ #2 :
Декабрь 16, 2012, 11:53 »
после собственно выделения. т.е. выделяю область и мне необходимо эту область перенести на другой фрагмент изображения. как-то так.
а что с памятью не так? я что-то нахимичил?
Записан
mutineer
Гость
Re: копирование выделенных пикселей
«
Ответ #3 :
Декабрь 16, 2012, 12:06 »
Ты создаешь QRubberBand и mySelection при каждом клике, но никогда не удаляешь, вот и течет память.
Ну так после отпускания мыши геометрия выделенной области лежит в rubberBand. В чем проблема?
Записан
upsny
Гость
Re: копирование выделенных пикселей
«
Ответ #4 :
Декабрь 16, 2012, 12:15 »
понял. исправлюсь, спасибо.
то есть после отпускания мыши эта самая геометрия сохраняется? отлично. спасибо
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...