Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Ноябрь 24, 2010, 12:40



Название: QPixmap vs QImage
Отправлено: Caduceus от Ноябрь 24, 2010, 12:40
Что-то прошелся по проекту - у меня то одно в одном месте, то другое в другом. По сути взаимозаменяемые вещи или я че-то не понимаю?

Когда использовать одно, а когда другое?


Название: Re: QPixmap vs QImage
Отправлено: zenden от Ноябрь 24, 2010, 12:46
пользуйтесь поиском
http://www.prog.org.ru/topic_9858_0.html


Название: Re: QPixmap vs QImage
Отправлено: GreatSnake от Ноябрь 24, 2010, 13:23
Одна ремарка.
QImage хранится в адресном пространстве приложения, а QPixmap в XServer-a/GDI.
Если не планируете часто менять содержимое картинки, то используйте QPixmap, в противном случае QImage.


Название: Re: QPixmap vs QImage
Отправлено: Hordi от Ноябрь 24, 2010, 19:36
QImage можно грузить из потоков, QPixmap - нет


Название: Re: QPixmap vs QImage
Отправлено: fdn от Ноябрь 25, 2010, 09:50
QPixmap это аппаратно зависимая реализация. Например глубина цвета QPixmap = глубине цвета экрана. Работает очень быстро.


QImage  - это аппаратно-независимая реализация, но работает довольно медленно.


Название: Re: QPixmap vs QImage
Отправлено: GreatSnake от Ноябрь 25, 2010, 10:55
Цитировать
Например глубина цвета QPixmap = глубине цвета экрана.
На Х-ах для создания Pixmap можно выбрать любую глубину цвета , которую поддерживает Xserver.
Почему-то Qt это не позволяет.

И ещё:
- при довольно-таки большом количестве Pixmap-ов GDI может перестать их создавать, т.к. имеются ограничения на их количество.
- при задействовании composing-а не стоит пользоваться пиксмапами, т.к. Qt композинг делает только с QImage, т.е. будет делаться постоянная конвертация QPixmap<->QImage.

В общем всё зависит от задачи.


Название: Re: QPixmap vs QImage
Отправлено: Igors от Ноябрь 25, 2010, 12:32
Цитировать
Например глубина цвета QPixmap = глубине цвета экрана.
На Х-ах для создания Pixmap можно выбрать любую глубину цвета , которую поддерживает Xserver.
Почему-то Qt это не позволяет.
У меня об Xserver представление смутное, но просто стало интересно - что ж он такого поддерживает? 8 бит на канал, 32 на точку? Может больше (напр 16 или 32 на канал)?  Тогда что он с ними делает?


Название: Re: QPixmap vs QImage
Отправлено: GreatSnake от Ноябрь 25, 2010, 16:03
Цитировать
У меня об Xserver представление смутное
Ну, ликбез о X11 думаю не стоит устраивать здесь.


Название: Re: QPixmap vs QImage
Отправлено: Igors от Ноябрь 26, 2010, 05:22
Ну, ликбез о X11 думаю не стоит устраивать здесь.
А я и не прошу Вас пояснять специфику Вашей платформы - поясните идею и почему Вам это нравится


Название: Re: QPixmap vs QImage
Отправлено: GreatSnake от Ноябрь 26, 2010, 09:14
Цитировать
А я и не прошу Вас пояснять специфику Вашей платформы - поясните идею и почему Вам это нравится
Чего-то Вы меня не поняли. Мне абсолютно всё-равно, что Qt не позволяет создавать пиксмапы разной глубины цвета.
Я лишь констатировал факт, что на Х-ах это возможно.
Я пишу под Х-ы с 92-го года и мне ни разу не нужно было создавать пиксмапы с глубиной отличной от 1 или дефолтной для приложения.
Но насколько я знаю, старые коммерческие Х сервера позволяли запускать приложения с разными Visuals и наверное кому-то нужны были пиксмапы с разной глубиной. Вполне возможно, что это уже устарело.