Как совместить два одноцветных изображения? - PullRequest
1 голос
/ 18 мая 2009

Мне нужно написать анаглифную картинку программу. Допустим, у меня есть два одноцветных изображения: красное и синее. Как я могу объединить их в один, чтобы сделать изображение анаглифа?

Пожалуйста, дайте мне совет. Спасибо.

P / s: я использую язык программирования C #.

Ответы [ 3 ]

3 голосов
/ 18 мая 2009

Если изображения RGB, используйте режим смешивания Darken. Если они CMYK, используйте режим смешивания Lighten.

Для затемнения выберите меньшее значение (Math.Min ()) каждого канала. Для облегчения возьмите более высокий (Math.Max ​​()).

//Darken pseudocode
for(int y=0;y<CompositionBitmap.Height;y++)
    for(int x=0;x<CompositionBitmap.Width;x++){
        CompositionBitmap[x,y].R=Math.Min(RedBitmap[x,y].R,CyanBitmap[x,y].R);
        CompositionBitmap[x,y].G=Math.Min(RedBitmap[x,y].G,CyanBitmap[x,y].G);
        CompositionBitmap[x,y].B=Math.Min(RedBitmap[x,y].B,CyanBitmap[x,y].B);
    }
}
3 голосов
/ 18 мая 2009

Один из подходов заключается в использовании утилиты ImageMagick смесь для наложения изображений. Этот метод не требует программирования.

1 голос
/ 18 мая 2009

возможно установить их на 50% альфа каждый, затем сместить и скопировать их, используя поверхность рисования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...