这两天在看《Qt5 Cadaques》,书是开源的,代码里用到的图片却不是。想照着书中的示例练一练,就自己找了几张图片。需要一个飞船,找了下面这张图片,但是需要处理成背景透明的png图片。windows画图做不到,以前貌似用ps做过,但是ps本身下载安装着实费事费力。忽然灵光一闪,为啥不自己写一个呢。ok,废话不多说了(就当是写日记了),Let's get it done.
工具: Qt
计划用时: 1h
首先需要一个QFileDialog打开图片,直接把帮助文档里的例子拿过来:
_fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/xinlei", tr("Image Files (*.png *.jpg *.bmp)"));
然后显示在一个QLabel里:
ui->label->setPixmap(QPixmap::fromImage(*_img));
加一个pushButton,点击后执行process()函数:
void ImgProcessor::on_pushButton_clicked()
{
process();
ui->label->setPixmap(QPixmap::fromImage(*_img));
}
这样,重点就是process()了
处理的大致思想就是,逐像素点遍历,对每个像素点进行判断,如果某像素点的(r,g,b)>