Qt 中如何实现对图片设置透明色显示 .
2013-02-04 13:25
856 查看
QImage TestDialog::getTransImage(QImage image , QPoint ponit)
{
//判断所取的点是否在图片内部
if( image.valid( ponit ) )
{
QRgb rgb = image.pixel( ponit );
QVector<QRgb> rgbVector = image.colorTable () ;
for (int i = 0; i < rgbVector.size(); ++i)
{
if( rgbVector.at(i) == rgb )
{
/*
注意这里如果要变成黑色背景的话就是QRgb rgb2 = QColor(0, 0, 0, 0).rgb() ;
留意 rgb()与rgba()的区别
*/
QRgb rgb2 = QColor(0, 0, 0, 0).rgba() ;
image.setColor( i,rgb2 );
return image ;
}
}
}
return image ;
}
[cpp] view
plaincopy
QImage TestDialog::getTransImage(QImage image , QPoint ponit)
{
//判断所取的点是否在图片内部
if( image.valid( ponit ) )
{
QRgb rgb = image.pixel( ponit );
QVector<QRgb> rgbVector = image.colorTable () ;
for (int i = 0; i < rgbVector.size(); ++i)
{
if( rgbVector.at(i) == rgb )
{
/*
注意这里如果要变成黑色背景的话就是QRgb rgb2 = QColor(0, 0, 0, 0).rgb() ;
留意 rgb()与rgba()的区别
*/
QRgb rgb2 = QColor(0, 0, 0, 0).rgba() ;
image.setColor( i,rgb2 );
return image ;
}
}
}
return image ;
}
上面用到的两个重要的函数就是:
QRgb QImage::pixel ( const QPoint & position ) const
这个得到图片中某点的色素的rgb的值。
void QImage::setColor ( int index, QRgb colorValue )
设定图片的color table的索引值index所对应的颜色为 colorValue 。呵呵,英语很菜的,还是直接看文档吧,我把我的整个测试程序放到这个下面,感兴趣的可以看看,最后程序运行的结果如下:
{
//判断所取的点是否在图片内部
if( image.valid( ponit ) )
{
QRgb rgb = image.pixel( ponit );
QVector<QRgb> rgbVector = image.colorTable () ;
for (int i = 0; i < rgbVector.size(); ++i)
{
if( rgbVector.at(i) == rgb )
{
/*
注意这里如果要变成黑色背景的话就是QRgb rgb2 = QColor(0, 0, 0, 0).rgb() ;
留意 rgb()与rgba()的区别
*/
QRgb rgb2 = QColor(0, 0, 0, 0).rgba() ;
image.setColor( i,rgb2 );
return image ;
}
}
}
return image ;
}
[cpp] view
plaincopy
QImage TestDialog::getTransImage(QImage image , QPoint ponit)
{
//判断所取的点是否在图片内部
if( image.valid( ponit ) )
{
QRgb rgb = image.pixel( ponit );
QVector<QRgb> rgbVector = image.colorTable () ;
for (int i = 0; i < rgbVector.size(); ++i)
{
if( rgbVector.at(i) == rgb )
{
/*
注意这里如果要变成黑色背景的话就是QRgb rgb2 = QColor(0, 0, 0, 0).rgb() ;
留意 rgb()与rgba()的区别
*/
QRgb rgb2 = QColor(0, 0, 0, 0).rgba() ;
image.setColor( i,rgb2 );
return image ;
}
}
}
return image ;
}
上面用到的两个重要的函数就是:
QRgb QImage::pixel ( const QPoint & position ) const
这个得到图片中某点的色素的rgb的值。
void QImage::setColor ( int index, QRgb colorValue )
设定图片的color table的索引值index所对应的颜色为 colorValue 。呵呵,英语很菜的,还是直接看文档吧,我把我的整个测试程序放到这个下面,感兴趣的可以看看,最后程序运行的结果如下:
相关文章推荐
- Qt 中如何实现对图片设置透明色显示 .
- Qt 中如何实现对图片设置透明色显示
- 如何实现透明遮挡层显示图片
- Qt中实现图片透明度设置与显示
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- 如何实现文字加透明背景显示在一张图片的底部的效果
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- Qt QImage图片透明设置(Thinkvd开发日志)
- QT小知识点(5) -QT中如何设置窗体的背景图片
- qt 图片显示及基本操作的实现
- QT图片透明的设置
- QT 实现子控件的透明,可以实现主窗口设置背景皮肤
- Qt 按钮如何实现背景图片的加载
- Android开发_如何设置按钮背景透明与半透明_图片背景透明
- 如何将ROS发出的图片消息在Qt Ceator的界面显示出来?
- Android开发_如何设置按钮背景透明与半透明_图片背景透明
- 如何实现点击GridView中一个图片后,如何传递至一个新的Activity中的imageview里面显示?
- Qt4.7在ARM开发板上如何设置中文显示
- 设置文字QT按钮包含图片与文字,以及鼠标停留备注显示,和sheetstyle风格设置。
- CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容