QT 实现颜色反转

QT 实现颜色反转

在这里插入代码片
/*
   颜色反转
   imagePath :源图片的路径
   newPixmap :新的图片会在源图片名后面增加“_new” 为图片名,
   			   如果要考虑原来是否有这个文件的各种情况得再做特殊处理
*/
void MainWindow::imagesColorInverse(QString imagePath)
{
     QPixmap sourcePixmap(imagePath);
     QImage image = sourcePixmap.toImage();
    for(int w = 0;w < image.width();++w)
    for(int h = 0; h < image.height();++h)
    {
        QColor rgb = image.pixel(w,h);
        rgb.setRgb(255-rgb.red(),255-rgb.green(),255 - rgb.blue());
        ///替换颜色
        image.setPixel(w,h,rgb.rgba());
    }

    QPixmap newPixmap(QPixmap::fromImage(image));
    QString newPath =imagePath;
    newPath.insert(newPath.length()-4,"_new");
    newPixmap.save(newPath);
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用QT实现颜色选择器可以参考以下代码实现: ```cpp #include <QColorDialog> void MyColor::on_pushButton_clicked() { QColor color = QColorDialog::getColor(Qt::white, this); qDebug() << "颜色选择" << color << color.name(); if(!color.isValid()){ // 点击关闭或取消,颜色无效 // return; } else { ui->winColor->setStyleSheet("background-color: "+ color.name()+ ";"); QRgb rgb = color.rgb(); qDebug() << "rgb== " << qRed(rgb) << qGreen(rgb) << qBlue(rgb); qDebug() << "m_winColor== " << color.name(); } } ``` 这段代码使用了QColorDialog类来创建颜色选择对话框,并获取用户选择的颜色。通过设置样式表,将选择的颜色应用到ui->winColor上,实现颜色的显示。同时,还可以获取颜色的RGB值和颜色名称。 #### 引用[.reference_title] - *1* [QT 颜色选择器 QColorDialog 使用](https://blog.csdn.net/qq_40015157/article/details/125087942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Qt颜色选择器(HSV)](https://blog.csdn.net/weixin_42219627/article/details/123509635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值