Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ как сделать серый рисунок из цветного?

Автор: Litkevich Yuriy 4.8.2010, 17:49

Есть файл с цветным рисунком, нужно чтобы в программе отображался в виде оттенков серого.

средствами Qt, во время выполнения.

Автор: ufna 4.8.2010, 18:05

черт его знает, раньше такого не нашел, делал чисто через пре-обработку изображения, т.е. убирал saturation попиксельно.

Автор: Litkevich Yuriy 4.8.2010, 18:10

есть qGray, но попиксельно мне влом преобразовывать

Автор: Алексей1153 4.8.2010, 18:18

Если попиксельно, то вот формулы
http://ru.wikipedia.org/wiki/YUV
(Y - яркостная составляющая)

Автор: BRE 4.8.2010, 18:22

А если пошалить с режимами composition modes, накладывая на исходную картинку серую.

Автор: Litkevich Yuriy 4.8.2010, 20:38

пока вникать было лень.

    QPixmap pix(":/background.jpg");

    QStyle *s = style();
    QStyleOption opt;
    opt.initFrom(this);
    QPixmap res = s->generatedIconPixmap(QIcon::Disabled, pix, &opt);

Сам полезный код находится здесь:
QPixmap QCommonStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap,
                                          const QStyleOption *opt) const

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)