2013-01-21 72 views
2

我正在为Qt设计更强大的颜色选择器并寻找一些建议。如何生成快速的实时颜色矩形,例如Photoshop中的矩形(用于HSB和RGB)。我原本想用QImage和scanline分别计算所有像素,但这可能会太慢。生成快速颜色矩形

我在想,写一个OpenGL着色器会更好。我记得你可以给顶点分配颜色,它会为你插入变化。我只是不知道如何在Qt中完成这项工作,或者如果这是值得的努力。

我正在使用QGraphicsView来显示矩形。任何意见,将不胜感激。

enter image description here

+0

我对Qt完全陌生,但会设置一个渐变作为一个画笔没有帮助?我可能完全忽略了这一点:) –

+0

据我所知,QGradient只能用于1D。我需要一个2D Gradient来做我所需要的。 – Dave

+0

它真的太慢了​​吗? scanline只是一个指向图像的指针。没有太多的开销。渐变如何实现? –

回答

0

好了,所以寻找到QGradients多一点你能不能使用多个QGradient创建你所需要的效果?

对于这3个例子中的最后一个,你可以为颜色本身创建一个具有多个停止点的单个渐变,然后用黑色(alpha 0)的QGradient覆盖黑色(alpha 255),并使用合适的挡块将渐变进入正确的点。