سؤال

لدي عدد من RGBA بكسل ، كل واحد منهم ألفا عنصر.

لذلك لدي قائمة بكسل:(p0 p1 p2 p3 p4 ...pn) حيث p_0_ هو الجبهة بكسل و p_n_ هو أبعد (في الخلف).

آخر (أو أي) بكسل ليس من الضروري مبهمة مما المخلوطة بكسل يمكن بطريقة أو بأخرى شفافة أيضا.أنا مزج من بداية القائمة إلى النهاية ، وليس العكس (نعم ، فمن تون).حتى إذا كانت النتيجة في أي لحظة تصبح مبهمة بما فيه الكفاية أنا يمكن أن تتوقف مع تصحيح ما يكفي من النتيجة.سوف تطبيق مزج الخوارزمية في هذه الطريقة:((((p0 @ p1) @ p2) @ p3) ... )

أي شخص يمكن أن توحي لي الصحيح مزج الصيغة ليس فقط بالنسبة R ، G ، B ، ولكن عن مكون أيضا ؟

محدث:وأتساءل كيف يمكن أن تحدد عملية مزج الألوان التي يمكن أن يكون لها العديد من الصيغ ؟ هل هو نوع من aproximation?هذا يبدو مجنون ، أما بالنسبة لي:الصيغ غير مختلف كثيرا نحن حقا في اكتساب الكفاءة أو التحسين.يمكن لأي شخص توضيح هذا ؟

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

المحلول

ألفا هو واحد من تلك الموضوعات التي لها عمق أكثر مما تظن.ذلك يعتمد على ما قيمة ألفا يعني في النظام الخاص بك ، إذا كنت تخمين خاطئ ، ثم عليك في نهاية المطاف مع النتائج التي تبدو على ما يرام ، ولكن هذا العرض الغريب القطع الأثرية.

تحقق من بورتر داف الكلاسيكية الورق "التركيب الصور الرقمية"كبير للقراءة مناقشة جميع الصيغ.ربما كنت تريد "على" المشغل.

يبدو أنك تفعل شيئا أقرب إلى جعل حجم.على صيغة والمراجع ، انظر الرسومات التعليمات, السؤال 5.16 "كيف يمكنني أداء جعل حجم?".

نصائح أخرى

هناك العديد من السبل الممكنة للقيام بذلك اعتمادا على كيفية RGBA القيم تمثل في الواقع خصائص المواد.

وهنا ممكن الخوارزمية.تبدأ مع النهائي بكسل الألوان lightr=lightg=lightb=0, lightleft=1;

لكل r,g,b,a بكسل واجه تقييم:

lightr += lightleft*r*(1-a)
lightg += lightleft*g*(1-a)
lightb += lightleft*b*(1-a)
lightleft *= 1-a;

(RGBA القيم إتفاق بين 0 و 1 و أنا على افتراض أن a=1 يعني مبهمة ، a=0 يعني كليا شفاف)

إذا كان أول بكسل واجه الأزرق مع التعتيم 50% ثم 50% من سعر متاح اللون هو الأزرق و الباقي معروف.إذا كان الأحمر بكسل مع التعتيم 50% ثم 25% من المتبقية الضوء هو الأحمر ، لذلك بكسل 50% ازرق 25% الأحمر.إذا الخضراء بكسل مع التعتيم 60% هو التالي ، ثم بكسل 50% ازرق 25% الأحمر ، 15% الأخضر ، مع 10 ٪ من ضوء المتبقية.

المادية المواد التي تتوافق مع هذه الوظيفة هي الباعثة للضوء ولكن جزئيا مبهمة المواد:وهكذا بكسل في وسط كومة لا يمكن أبدا أن تلقي بظلالها على اللون النهائي:فقط يمكن أن تمنع الضوء وراء ذلك من زيادة النهائية اللون (من خلال كونها سوداء معتمة تماما).

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