記事"CCanvas クラスを知る透明なオブジェクトの描画方法"についてのディスカッション - ページ 7

 
Nikolai Semko:

ここで、他の透明色を混ぜるアルゴリズムが適用される:


透明色はどこにあるのか?影は?

 
Dmitry Fedoseev:

透明性はどこに?影は?

影とスムース・サークルのエッジ。
結局、スムージングの端のピクセルは同じ色だが、透明度が違う。
 

ニコラス、今は花の気分じゃないんだ。もし計算式に間違いがあったら、指摘してくれてありがとう。あまりチェックしていませんでした。実装して忘れていました。

カンヴァスの分野での知識と実績を、何か役に立つことに生かすのはいいことだ。考えてみてください。

 
Реter Konow:

ニコラス、今は花の気分じゃないんだ。もし計算式に間違いがあったら、指摘してくれてありがとう。あまりチェックしていなかったんだ。

カンヴァスの分野での知識と実績を、何か役に立つことに生かすのはいいことだ。考えてみてください。

ありがとうございます。この考えは、私の頭にもなかったので :))
いやあ、まじめな話、あなたの言葉にはとても驚きました。役に立たない例は、可能性のデモンストレーションに過ぎない。経験豊かな目には、一見役に立たないように見えるものの中に、必ず多くの有用性がある。そして、私がいつも話していることは、非常に有用なものにも大いに応用できることを知らないのか。そして、私がこのようなことをするのは、もっぱら有用なことを実現するためなのだ。ただ、それが終わるまで話さないだけだ。

 
Nikolai Semko:

ヒントをありがとう。この考えは私には思いつきもしなかったから :))
まあ、真面目な話、あなたの言うことにはとても驚いている。役に立たない例は、可能性のデモンストレーションに過ぎない。経験豊かな目には、一見役に立たないように見えるものの中に、必ず多くの有用性がある。そして、私がいつも話していることは、非常に有用なものにも応用できることを知らないのか。そして、私がこのようなことをするのは、もっぱら有用なことを実現するためなのだ。ただ、それが終わってから話すんだ。

私はあなたの例が役に立たないとは言っていない。その逆だ。問題は、それをいつ役に立つことに応用するかということだ。つまり、あなたはまだどこにも示していないその有用性のラッパーを作っている。それが何なのか、何のためにあるのか、それは誰にもわからない。:))

 
Реter Konow:

あなたの例が役に立たないとは言っていない。その逆だ。問題は、それをいつ有用なものに適用するかということだ。つまり、あなたはまだどこにも示されていない有用な何かのラッパーを作っているのだ。そして、それが何なのか、何のためにあるのかは、誰にもわからない。:))

列車より先に走るより、サプライズの方がいい。
 
Nikolai Semko:

別に

アルファ1とアルファ2についてだ。

また、新形成の混合色だけでなく、新形成の透明度も計算する必要がある。

...

中学校7年生レベルのちょっとした数学だ。長い多項式を得たら、それを小さくしなければならない。結果は三項式になるはずだ。

 
Nikolai Semko:
列車より先に走るよりいいサプライズ

ニコライ、君がキャンバスでナンバーワンなのはもうみんな知ってるよ。異論は認めない。ColorToARGB()から受け取った最終的な色から、色とアルファを取り戻す方法をご存知でしたら教えていただけますか?色とアルファを送信し、結果を得、その結果から元の色とアルファを得る必要があります。

どうすればいいのでしょうか?

 
Реter Konow:

ニコライ、君がキャンバスの第一人者であることはもうみんな知っているよ。異論は認めない。もしご存知なら、ColorToARGB()から受け取った最終的な色から、色とアルファを取り戻す方法を教えていただけますか?色とアルファを送信し、結果を取得し、その結果から元の色とアルファを取得する必要があります。

どうすればいいのでしょうか?

ARGBでRGBからRとBが入れ替わるのは謎だ。しかし、これは事実だ。

とても単純なことだ:

   color x=0x00112233;
   color y=ColorToARGB(x,0x44); 
   color z=ColorToARGB(y,0);
   uchar a=y>>24;

デバッグ時に

zは元のRGB

a- 元のアルファ。

ユニオンやバイトシフトでもできるが、記録が長くなる。

色成分がわかっている場合、私はColorToARGB(clrRed,48)タイプの レコードをまったく使わず、16進数形式のレコード0x30FF0000(ColorToARGB(clrRed,48)と同じ)を使う。非常に便利で、明確で、より速い。

 
Dmitry Fedoseev:

中学1年生のちょっとした数学だよ。長い多項式を得たら、それを小さくしなければならない。結果は三項式になるはずだ。

画像で "多項式 "や "三項式 "でググると、面白い写真がたくさん出てくるよ :)))