Russian Qt Forum
Ноябрь 01, 2024, 09:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Снять скриншот области экрана.  (Прочитано 10689 раз)
mcrads
Гость
« : Декабрь 12, 2009, 14:17 »

Подскажите пожалуйста, есть ли в Qt более шустрая шункция сняти скриншота чем QPixmap::grabWindow()? необходима скорость реакции максимум две сотки секунды, а пока что имеется только пять десяток =( большая проблема получается с этим.
и еще. как лучше реализовать снятие скриншота ЧАСТИ экрана? по выделению?
Записан
mcrads
Гость
« Ответ #1 : Декабрь 12, 2009, 14:18 »

извиняюсь за ошибки, торопился =)ыы
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Декабрь 12, 2009, 14:33 »

на счёт скорости не скажу, а насчёт области экрана смотри программку с открытыми исходниками:
http://mapper.ru/screengrab/
у неё есть режим копирования области экрана
Записан

Юра.
mcrads
Гость
« Ответ #3 : Декабрь 12, 2009, 14:42 »

Благодарю!!!! сейчас взгляну...
Записан
zenden
Гость
« Ответ #4 : Декабрь 12, 2009, 15:52 »

Опа, ссылку в мемориз. Может еще  кто знает компактный графичекий редактор на Qt с минимумом необходимых функций? Всё что нужно - обрезать, ужать, сделать надпись, пометить маркером, затереть. GPL естессна
Записан
DOOMer
Чайник
*
Offline Offline

Сообщений: 95



Просмотр профиля
« Ответ #5 : Декабрь 12, 2009, 16:13 »

mcrads
Более шустрее -- наверное только платформозависимым кодом.

По поводу скриншота части экрана:

QPixmap pixmap = QPixmap::grabWindow ( QApplication::desktop()->winId(), x, y, width, height) ;  
x, y, width, height -- переменные для верехнего угла области, и ширины высоты.

Ну а если надо через юзерское  выделение мышкой области экрана -- то тут сложней все. Получить  скрин всего десктопа, отрисовать его на развёрнутом на весь экран модальном диалоге, и потом фильтровать  события  мыши (нажатие кнопок и перемещение).

p.s. Я и сваял вышеуказанную софтину (ScreenGrab), там весьма кривой код (в том числе и в плане граббинга области экрана)
Записан

Linux x86_64 && Qt 5.4.0 && Qt 4.8.6t && GCC 4.9.2
mcrads
Гость
« Ответ #6 : Декабрь 13, 2009, 09:53 »

Честно сказать, я заметил =)
В результате я сделал еще кривее =) я использую новое окно полупрозрачное без всяких виджетов. просто QDialog пустой. в рузультате им выделяется область экрана и потом снимается его положение и размеры =) но меня это не устраивает, так же как и отрисовка полноэкранного виджета с рабочим столом. вдруг пользователь захочет сначала на другой проге кликнуть? ломаю голову =(

PS тут еще одна проблема появилась. называется Global Hotkeys. а QxTlib не встает =(
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.29 секунд. Запросов: 23.