Russian Qt Forum
Декабрь 17, 2018, 16:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как посчитать общий вес всех QImage в массиве?  (Прочитано 953 раз)
Torvald
Самовар
**
Offline Offline

Сообщений: 114


Просмотр профиля
« : Июнь 29, 2018, 10:55 »

Не секрет, что QImage хранит свой массив пикселей в кэше отдельно от объекта. Таким образом, два одинаковых изображения могут занимать места как одно.
В общем, есть вектор изображений:
Код
C++ (Qt)
QVector<QImage> images;
Среди его элементов есть одинаковые изображения (с одним кэшем), например:
  • изображение 1
  • изображение 2
  • изображение 2
  • изображение 2
  • изображение 1
  • изображение 3
То есть шесть разных объектов, но по сути всего три изображения, то есть в кэше хранятся всего три картинки.
Вопрос: как посчитать реально занимаемый объем этого вектора? В мегабайтах.
Записан
Igors
Джедай : наставник для всех
*******
Online Online

Сообщений: 10279


Просмотр профиля
« Ответ #1 : Июнь 29, 2018, 16:26 »

Напр использовать

const uchar * QImage::bits() const

Только обязательно константный. Ну и наверное не "кэш", а (шаред) "буфер"
Записан
Torvald
Самовар
**
Offline Offline

Сообщений: 114


Просмотр профиля
« Ответ #2 : Июнь 29, 2018, 16:33 »

Да, действительно, спасибо, попробую.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2058


Просмотр профиля
« Ответ #3 : Июль 03, 2018, 16:56 »

См. QImage::cacheKey()
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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