Название: Создание экранной лупы Отправлено: Crazy Sage от Июль 30, 2012, 18:50 Добрый день.
Пытаюсь сделать экранную лупу - есть превьюшка, которое загружено в QGraphicsPixmapItem, есть большое, которое загружается по необходимости, есть QGraphicsScene и QGraphicsView соответственно. Собственно лупу я делаю следующим образом Код: //получаю соответствие точки малого изображения на которой щелкнули и точки большого И тут появляется два вопроса 1. Я вообще логичный способ выбрал или изобретаю адский велосипед и это можно сделать проще? 2. Высота previewItem в общем случае меньше, чем высота view, поэтому при ensureVisible превьюшка прыгает вверх-вниз по виджету, что очень неудобно. Как сделать так, чтобы она всегда выравнивалась, скажем, по высоте? Попытка сделать Код: QPointF pos=previewItem->scenePos(); Название: Re: Создание экранной лупы Отправлено: Bepec от Июль 31, 2012, 06:45 Я бы посоветовал вам посмотреть исходники примера pixeltool.
По сути она тоже экранная лупа. По идее, если у неё сетку убрать, то будет просто лупа. Название: Re: Создание экранной лупы Отправлено: Crazy Sage от Июль 31, 2012, 07:02 Ок, гляну. Этот пример не видел еще.
Название: Re: Создание экранной лупы Отправлено: Crazy Sage от Июль 31, 2012, 07:33 Посмотрел, не подходит. У меня обязательное условие в двух картинках, потому что это большая исходная фотография и ужатая превьюшка, которая нужна, чтобы не таскать за собой гигабайты фотографий. Поэтому попиксельное увеличение мне не подходит, должно быть видно качество именно исходной фотографии.
Может вырезать как-нибудь из исходной фотографии прямоугольник, который должен перекрывать превьюшку и уже от него оставлять видимым кружок? Название: Re: Создание экранной лупы Отправлено: Bepec от Июль 31, 2012, 07:41 Ну так у вас же изображение в памяти. Делайте что хотите - хоть крестики-нолики вырезайте, хоть попиксельно сдвигайте :)
Ужимайте и показывайте превьюшку. PS хотя какой кружок вам нужен я не понял :) Название: Re: Создание экранной лупы Отправлено: Crazy Sage от Июль 31, 2012, 07:56 Ну в смысле, что на уменьшенном изображении выставляется окружность, внутри которой отображается кусок полноразмерного изображения.
Понятно, что могу делать что хочу))) Просто сходу не получается, а в графической системе qt пока слабоват, вот и решил проверить, может я велосипед изобретаю. В общем буду дальше экспериментировать. Название: Re: Создание экранной лупы Отправлено: Bepec от Июль 31, 2012, 08:02 Иногда велосипед необходим. Чтобы потом построить машинку ;)
PS если не жалко, выложи что получилось :) В графике я откровенно слабоват, хоть посмотрю со стороны :D Название: Re: Создание экранной лупы Отправлено: Crazy Sage от Июль 31, 2012, 08:06 Доведу до ума - выложу.
Название: Re: Создание экранной лупы Отправлено: Bepec от Июль 31, 2012, 10:54 Буду ждать с надеждой. :P
Название: Re: Создание экранной лупы Отправлено: Crazy Sage от Август 09, 2012, 11:34 http://cannonfodder.su/pub/Zoom.zip
не сказать, чтобы совсем доведено до ума, но в целом работает изначально лупы нет, появляется по щелчку |