crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Nof1000
  опции профиля:
сообщение 15.11.2011, 20:26
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 15.11.2011
Пользователь №: 3003

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет, возник вопрос как изменить яркость и контрастность, сначала думал в сторону QPixmap но потом все копнув информации,
Понял что лучше для этого подойдет QImage пытался сделать что-то свое, но так и ничего путного не вышло,
Поискав так скажем функционал для этого, наткнулся на вот это Тыц

Решил попробовать.

img = changeBrightness(img, -100); // Задаем яркость в самый минимум
img = changeContrast(img, 500) // Задаем контрастность в максимум


Но в результате контрастность в любом случаи не максимальна,
В моем случаи очень важно задать яркость и контрастность в минимальное и максимальное значение.
Поискав в интернетах так и не нашел ничего.
И вот решил задать вопрос:
Куда мне копать или смотреть чтобы реализовать свой вариант?
Может если уже готовые варианты но только так скажем более функциональные чем тот что выше.
Или же все проще и данный функционал есть в самом Qt?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Nof1000
  опции профиля:
сообщение 16.11.2011, 19:21
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 15.11.2011
Пользователь №: 3003

Спасибо сказали: 0 раз(а)




Репутация:   0  


Пока сделал вариант топор
    for( int w = 0; w < img.rect().right(); w++ ) {
        for( int h = 0; h < img.rect().bottom(); h++ ) {
            QColor col( img.pixel(w,h) );
            int r;
            int g;
            int b;
            int realcen = 250;
            col.setHsv(col.hue(), 0, col.value(), col.alpha());
            col.getRgb(&r, &g, &b);
            if (r <= realcen || g <= realcen || b <= realcen)
                col.setRgb(0,0,0);
            if (r > realcen || g > realcen || b > realcen)
                col.setRgb(255,255,255);
            img.setPixel(w,h,col.rgb());
        }
    }

Сначала делаем изображение черно белым а потом уже, ммм так скажем имитируем максимальную контрастность.
Хоть и работает, но все равно не то что надо...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 30.6.2025, 9:38