كيفية القيام بسلاسة ألفا شانيل keying مع silverlight 3 بكسل تظليل؟

StackOverflow https://stackoverflow.com/questions/1695280

سؤال

كيفية القيام بسلاسة قناة ألفا القناة مع silverlight 3 بكسل تظليل؟

أريد بعض مرشح HLSL (مثل هذا شزام مثال HLSL)

             sampler2D  implicitInputSampler : register(S0);


             float4 main(float2 uv : TEXCOORD) : COLOR
             {
               float4 color = tex2D( implicitInputSampler, uv );

             if( color.r + color.g + color.b < 1.9 ) {
             color.rgba = 0;
                 }

             return color;
             } 

إلى المفتاح ليس فقط اللون الذي أحاول المفتاح، لكن على سبيل المثال إذا كان أحمر مظلم يتكون من أحمر وأزرق وأنا أدنى كل الأزرق أريد أن أحصل على أحمر شفافة. (ربما هذه الصورة يمكن أن تفسر ما أريد)From to Image
(مصدر: narod.ru.)

هل كانت مفيدة؟

المحلول

يبدو أنك تريد فقط طرح اللون بدلا من ذلك.

float4 subtract = ... ; // color you want to remove
float4 color = ... ;

color.r -= subtract.r;
... // for b and g

if ( color.r < 0 )
    color.r = 0;
... // for b and g

بعد ذلك، يمكنك بعد ذلك استخدام لون منتقي اللون لاختيار اللون "طرح" سيكون ويزيله. آمل أن يكون ما تحاول القيام به.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top