के साथ मिश्रित अल्फा मिश्रण एक आरजीबी छवि (पृष्ठभूमि छवि) पर, एक आरजीबीए छवि (अग्रभूमि छवि) के अल्फा मिश्रण ऑपरेशन करने की कोशिश कर रहा हूं। हालांकि, ऐसा करने पर मुझे लगता है कि मैं गलत अल्फा ब्लेंडिंग ऑपरेशन कर रहा हूं या गलत कर रहा हूं। उदाहरण के लिए, मेरी आरजीबी छवि का पिक्सेल एक ग्रेश रंग है (127, 127, 127)। पिक्सेल के लिए मेरी आरजीबीए छवि का पिक्सेल (0, 0, 255) होगा। मेरे ब्लेंडिंग ऑपरेशन के बाद, अंतिम रंग होगा (127, 0, 255)। हालांकि, मैंने सोचा था कि एक अतिरिक्त मिश्रण और ऑपरेशन से अलग मैं कर रहा हूं।मैनुअल अल्फा एक आरजीबी पिक्सेल के साथ एक आरजीबीए पिक्सेल
कैसे मेरे मूल्यों को निर्धारित कर रहे हैं के लिए, यह
incPixelColor[0] = 0; (red)
incPixelColor[1] = 0; (green)
incPixelColor[2] = 255; (blue)
incPixelColor[3] = 255; (alpha)
currentPixelColor[0] = 127; (red)
currentPixelColor[1] = 127; (green)
currentPixelColor[2] = 127; (blue)
कैसे मेरे गणना सेट किया गया है के लिए पर एक नज़र, मैं करूंगा ले बिना अल्फा वाला पिक्सल के लिए यह
float incAlpha = (currentPixelColor[3]/255.0f);
float red = ((float)incPixelColor[0]/255.0f * incAlpha) + ((float)currentPixelColor[0]/255.0f);
float green = ((float)incPixelColor[1]/255.0f * incAlpha) + ((float)currentPixelColor[1]/255.0f);
float blue = ((float)incPixelColor[2]/255.0f * incAlpha) + ((float)currentPixelColor[2]/255.0f);
currentPixelColor[0] = min(red * 255, 255.0f);
currentPixelColor[1] = min(green * 255, 255.0f);
currentPixelColor[2] = min(blue * 255, 255.0f);
पर एक नज़र डालें, जैसे मान (0, 0, 255) होने के लिए अल्फा के साथ छवियों के लिए मैं इसे मिश्रण करना चाहता हूं। उपर्युक्त ऑपरेशन के अंत में, यह (127, 127, 255) होगा। क्या मुझे यह देखने के लिए जांचना चाहिए कि क्या प्रत्येक पिक्सेल के लिए अल्फा है, और यदि ऐसा है, तो मिश्रण करें या ऐसा करने का कोई और तरीका है?
आप additive सम्मिश्रण कर रहे हैं। इस तरह रैखिक मिश्रण पर विचार करें: y = (x0 * w) + (x1 * (1-w)) –
यह 255 स्केलिंग पीछे और आगे है। यदि आपके परिचालन सामान्यीकरण बनाए रखते हैं तो यह आवश्यक नहीं होना चाहिए। – fche