回复: 【新闻】 Trolltech Releases Qt 3.3.5
#6 [XChinux 10-19 13:10]
官方网站
#7 [forestxiehu 06-28 15:26]
向各位大侠请教: 在QT中对位图进行灰度变换,但是不知道怎样获取各个像素的三色值?看文档是提供了qcolor类和相应的方法,但是不会用.这是书上的源码,但结果根本达不到灰度转换的结果????
void MainWidget::imageGrayscale()
{
if(!image)
return;
uint *p;
uint change;
for(int i=0;iheight());i++)
{
for(int j=0;jwidth());j+=4)
{
p=(uint *) (image->scanLine(i)+j);
change=(p[1]+p[2]+p[3])/3;
p[1]=p[2]=p[3]=change;
}
}
showImage();
}
从书上这些代码看R,G,B三色值是直接通过j+=4来控制,但运行后图像还是彩色,只是画面变花了!