質問: (fr * fa + br * (255 - fa)) / 255 (frは前景のr値、brは背景のr値、faは前景のアルファ値) のように単純な演算で合成後の画素値を算出できますが、 前景rgba=(255,0,255,64) 背景rgba=(255,255,255,128) のように両方ともアルファ値を持つ画素同士であれば、どういったアルゴリズムで合成すればよいでしょうか。 ちなみにイメージする結果は、photoshopなどのペイントツールで、完全透明レイヤーに半透明のブラシを色違いで重ねたような感じです。
回答: >両方ともアルファ値を持つ画素同士であれば、どういったアルゴリズムで合成すればよいでしょうか。 アルゴリズム(計算式)は合成処理の用途などに応じて自由に決めていいものだと思います(つまりコレを使うべき、というものはないと思います)。例えばphotoshopでも合成処理は何種類か用意されていてそれを選択できるようになっています。 1番単純なものでしたら r=(r1*a + r2*(255-a)) / (2*255) ような感じでいいのではないでしょうか?