Хорошо, то, что вы пытаетесь сделать, называется хроматическим ключом. Как вы говорите, он часто использовался в фильмах с сине-зеленым экраном. В Windows это на самом деле довольно легко сделать, потому что он встроен в Windows как часть GDI + (или в C #, я думаю, он просто называется классом Graphics).
У меня нет примера кода, но процесс довольно прост:
С помощью GDI + вы создаете растровый объект вашего изображения переднего плана (объект с зеленым фоном). Затем создайте объект ImageAttributes. Используйте метод SetColorKey () объекта ImageAttribute, чтобы указать цвет или диапазон цветов для использования в качестве цвета фона. Наконец, нарисуйте этот растровый объект поверх целевого растрового изображения, и GDI + нарисует его так, как если бы цвет фона был прозрачным.
В коде есть еще кое-что, но концептуально это все, что нужно.