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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Скриншот большой веб страницы  (Прочитано 3556 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« : Февраль 02, 2017, 12:32 »

Привет. Есть проблема: загружена в QWebView большая веб-страница. Нужно сделать скриншот. Сразу оговорюсь, что методы типа QWebFrame::render() не сработают, потому что страница очень большая. Её contentsSize() в пикселях == 1024x125000 (может быть и больше). Создать такой QImage просто нельзя. Было бы хорошо, если было бы можно рендерить её кусками, но опять же в QWebFrame нет такого API.

Какие есть мысли как её отрендерить ?
« Последнее редактирование: Февраль 02, 2017, 12:38 от Alex Custov » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Февраль 02, 2017, 12:51 »

Есть дикий вариант:
1. скриншотить текущую видимую область
2. вертикальный ползунок сдвигать на n-пикселей вниз
3. шаг 1

результат будет, но чтобы картинка была правильной придется по геммороиться Улыбающийся
Записан

Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #2 : Февраль 02, 2017, 13:00 »

Хм, кажется я понял как этого достичь: придётся рендерить отдельные куски с помощью QWebFrame::render(), там есть аргумент clip. Думаю придётся рендерить несколькими частями и складывать в отдельные файлы. Ну хоть так.

Вариант со скроллом тоже рассматривал, но как самый последний и грязный Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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