سؤال

أحتاج إلى وضع حد متدرج ألفا حول الصورة.مشكلتي هي في مزج الزوايا بحيث تكون سلسة حيث تلتقي التدرجات الأفقية والرأسية.أعتقد أن هناك خوارزمية قياسية تحل هذه المشكلة.أعتقد أنني واجهت ذلك في المدرسة منذ سنوات عديدة.لكنني لم أنجح في العثور على أي إشارة إلى واحدة من بين العديد من عمليات البحث على الويب.

(لقد قمت بتنفيذ نمط تعبئة شعاعي في الزاوية، ولكن الانتقال لا يزال غير سلس بما فيه الكفاية.)

أسئلتي:

  1. إذا كانت هناك خوارزمية قياسية لهذه المشكلة ، فما اسمها ، وحتى أفضل ، كيف يتم تنفيذها؟

  2. تخلل أي خوارزمية قياسية ، ما هي أفضل طريقة لتحديد قيمة البكسل المطلوبة لإنتاج تدرج سلس في الزوايا؟(اجعل انتقالًا سلسًا من التدرج العمودي إلى التدرج الأفقي.)

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

عند حافة الحد المتدرج بالقرب من مركز الصورة، ستكون القيمة 255 (غير شفافة).ومع اقتراب الحد من الحافة الخارجية، تقترب قيمة ألفا من 0.في زوايا الصورة حيث تلتقي الحدود الرأسية والأفقية، ينتهي بك الأمر بما يصل إلى خط قطري.أريد إزالة هذا الخط والحصول على انتقال سلس.

ما أحتاج إليه هو خوارزمية تحدد قيمة ألفا (0 - 255) لكل بكسل يتداخل في زاوية الصورة عند التقاء الحواف الأفقية والرأسية.

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

المحلول

من المفترض أنك تقوم بضرب التدرجين حيث يتداخلان، أليس كذلك؟

لا أعرف عن الخوارزمية القياسية.ولكن إذا كنت تستخدم تدرجًا على شكل إشارة بدلاً من التدرج الخطي، فيجب أن يؤدي ذلك إلى إزالة الحافة المرئية حيث يتداخل الاثنان.

الدالة السينيه البسيطه هي Smoothstep(t) = tر(3 - 2*t) حيث 0 <= t <= 1

نصائح أخرى

إذا لم تكن بحاجة إلى أن تكون قابلة لتغيير الحجم، فيمكنك فقط استخدام خريطة ألفا بسيطة.

ومع ذلك، فقد استخدمت ذات مرة تلاشيًا غاوسيًا بسيطًا، مع متوسط ​​الموقع حيث أردت أن تكون آخر وحدات بكسل معتمة تمامًا.إذا كان هذا منطقيا.

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