做个色彩调节器,但具体的逻辑还是搞不懂。
具体就是用户通过滑块调节。对于滑块的传参,我们该如何处理?(色彩调节算法体省略掉,重点在于怎么调用这些算法,怎么给它们传参)
界面如下
(为了看着直观,这里用C++举例了)
然后我的想法代码大概是这样的
QImage image("e:/tree.png");
int lastValue=0;//保存滑块改动前的值
//对比度滑块的响应函数(参数是滑块值)
void MainWindow::on_contrast_valueChanged(int value)
{
int v=value-lastValue;//滑块增加的值
adjustContrast(image,image,v);//对比度算法,第三个参数v是强度(算法细节省略)
lastValue=value;
}
//饱和度、高光。锐化同上
但是还有一些问题。
①就像我上面代码,用value-lastValue算差值当参数这种做法是不是正确的?
②这样会不会导致:如果用户来回拖动滑块几十次,滑块值没变,但是图片变了。(这种情况肯定不行的)
③我想问一下专业的,比如ps,也是类似上面这种做法吗?
我也一直询问chatGPT,但解决不了,所以希望有经验的指点一下其中逻辑