Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: jatsuk от Сентябрь 13, 2011, 11:29



Название: Получить цвет пикселя
Отправлено: jatsuk от Сентябрь 13, 2011, 11:29
Только сегодня начал работать с изображениями)

Как получать Цвет отдельного пикселя в формате 0...250 (-128...128)

Если что то не так, то поправьте

QImage image("before.bmp");//считал изобр

 QRgb p;
 p = image.pixel(0, 0);//Получается какое то непонятное число

А как получить R состовляющюю, G сост...... в отдельности , чтобы было число 0...250 (-128...128)





Название: Re: Получить цвет пикселя
Отправлено: Igors от Сентябрь 13, 2011, 12:16
QRgb это просто 4 байта в каждом из которыз цвет [0..255]. Чтобы получить цветовую компоненту используйте qAlpha, qRed, qGreen, qBlue. Отнимите 127 чтобы получить значение [-127..+128], хотя что Вы с таким форматом будете делать неясно.

Ну и конечно вызов image.pixel - это несерьезно, все работают с пикселями напрямую (image.bits)


Название: Re: Получить цвет пикселя
Отправлено: jatsuk от Сентябрь 13, 2011, 15:15
А чем image.pixel  несерьёзен то ? ;D


Название: Re: Получить цвет пикселя
Отправлено: Igors от Сентябрь 13, 2011, 16:23
А чем image.pixel  несерьёзен то ? ;D
Как правило, время операции с одним пикселем соразмеримо (а чаще всего даже меньше) чем расходы на get/set pixel.