0
2種類の色を組み合わせてPyQtに新しいQColorを作成する方法はありますか?ような何か:PyQtで色を混ぜる?
QColor([30, QColor(123,0,45, 100)], [70, QColor(12, 34, 56, 100)])
30と70は取るために新色の割合を表します。
私が必要とするのは、不透明な色の上に半透明の色を重ねるのに相当する色です。
2種類の色を組み合わせてPyQtに新しいQColorを作成する方法はありますか?ような何か:PyQtで色を混ぜる?
QColor([30, QColor(123,0,45, 100)], [70, QColor(12, 34, 56, 100)])
30と70は取るために新色の割合を表します。
私が必要とするのは、不透明な色の上に半透明の色を重ねるのに相当する色です。
あなたが尋ねて以来、しばらくしていますが、もちろん、これらの色を一緒にブレンドする方法があります。それは自明ではないかもしれないが、確かに可能である。 2つの色を組み合わせる
は非常に簡単(カラー1およびカラー2の両方QColorsであると仮定して)ことによって行うことができる。
QColor(.3* color1.red() + .7 * color2.red(),
.3* color1.green() + .7 * color2.green(),
.3* color1.blue() + .7 * color2.blue(),
.3* color1.alpha() + .7 * color2.alpha()
)
2色間補間れます。
ただし、これは一方の色が他方の色の上にあることを考慮していません。最初の色は不透明なので、結果として生じる色も不透明です。ただし、結果の色を計算するには、アルファ値の一部を考慮する必要があります(質問の解釈によって異なります)。
QColor(color1.red() + .color2.alpha() * color2.red(),
color1.green() + .color2.alpha() * color2.green(),
color1.blue() + .color2.alpha() * color2.blue(),
1
)