1
我有一個位圖,我需要將多個圖層合併到一個目標位圖時用作圖像蒙版。圖像蒙板是黑色的&白色圖像,其中黑色指定應該繪製而不是的像素,並且白色從源位圖繪製像素。只使用位操作可以有效完成圖像遮罩嗎?
像素都是32位ARGB格式。
如上所述,掩模中的像素爲黑色(0xFF000000)或白色(0xFFFFFFFF)。
我想要一個快速有效的方法來組合屏蔽像素與位圖中的像素,以便僅使用位操作進行繪製。如果剪裁的黑色像素的alpha值爲0,那麼這將是微不足道的 - 那麼我可以只對屏蔽像素和位圖像素進行AND操作。
是否有任何種類的位飽和指令,或類似的東西?我在想:
uint mask = maskPixel & 0x00FFFFFF;
saturate(mask);
// If the maskPixel was black, mask will be all 0s, so the result of saturation is still all 0s.
// If the maskPixel was white, mask will be 0x00FFFFFF, so the saturation will result in 0xFFFFFFFF
任何想法?
爲了詳細闡述一下,我正在考慮使用掩膜像素的RGB值以某種方式設置alpha值。 – Chris
詳細闡述你的問題,*不*評論。 – Borgleader