Qt 5.4의 에 QImage
에 문제가 있습니다.왜 다시 읽는 픽셀 색상이 QImage에서 그려지는 색상과 다른가요?
이미지의 색은 Format_ARGB32
입니다. QPainter
그리기 기능을 사용하여 이미지의 픽셀에 주어진 RGBA 값을 설정하고 나중에 QImage::pixel
을 사용하여 값을 다시 읽으려고합니다.
아직 색칠 된 값과 다시 읽은 값이 다릅니다. 내가 도대체 뭘 잘못하고있는 겁니까?
샘플 코드 :
QImage image(100, 100, QImage::Format_ARGB32);
uint value = 0x44fa112b; //some value..
QPainter painter(&image);
painter.setCompositionMode(QPainter::CompositionMo de_Source);
QColor color(qRed(value), qGreen(value), qBlue(value), qAlpha(value));
QBrush brush(color);
painter.setBrush(brush);
painter.drawRect(0,0,image.width(), image.height());
uint value1 = image.pixel(50,50);
// value1 IS NOT EQUAL TO value. Why??
값으로 이미지를 채우려면 QImage :: fill을 사용하면됩니다. 그렇다면 결국 얻을 수있는 가치는 무엇입니까? – peppe
채우기가 제대로 작동합니다 (반환되는 색상 값은 채우기에 사용 된 것과 동일 함). 그러나 제 경우에는 이미지에 색칠하고 다시 읽을 값이 다릅니다. 단일 값이 아닙니다. 어떤 생각? – rajeshma
게시 된 코드 (컴포지션 모드 'QPainter :: CompositionMode_Source')가 예상대로 작동합니다. –