Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QImage::pixel(x,y) возврашает разные цвета в черно-белом изображении
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
Andrewshkovskii
Есть QPixmap , на нем painter'ом нарисована буква(черным цветом). QPixmap преобразуется в QImage. После чего я её по-квадратно (30х30) проверяю на цвет.. если есть черный - то в массив записывается 1, если есть белый, иначе - 0.
Но почему-то приходят много разных цветов, хотя по логике должно быть всего 2. Соответственно вся матрица заполняется 0...В чем моё не допонимание цветовой системы QImage и Qt в целом?
    
    int h=image.height();
    int w=image.width();
    int matrix[30][30]={0};
    //получим пиксели..
    for(int i=0;i<w;++i)
        for(int j=0;j<h;++j)
            matrix[i/8][j/8]+=(image.pixel(i,j)==Qt::black)? 1 : 0

fsMark
Навскидку, рисуешь с со сглаживанием?
Andrewshkovskii
ну по дефолту пэинтер рисует с антиалиасингом...
fsMark
Попробуй для паинтера установить:
setRenderHint(QPainter::Antialiasing, false)

Andrewshkovskii
Да уж все, решилось все константой 4278190080UL.
А вообще надо было вот так QColor(Qt::black).rgb()..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.