c#的图片合成C# and .NET 2008-08-18 21:47:05 阅读179 评论0 字号:大中小 订阅 private Bitmap outmap(Bitmap s1, Bitmap s2) { so = new Bitmap(s1.Width, s1.Height); for (int i = 0; i < s1.Width; i++) { for (int j = 0; j < s1.Height; j++) { Color a = s1.GetPixel(i, j); Color b = s2.GetPixel(i, j); // 跟据你的合并要求, 计算这两个color的合并 int red = (int)a.R * (255 - b.A) / 255 + b.A * b.R / 255; if (red > 255) red = 255; int green = (int)a.G * (255 - b.A) / 255 + b.A * b.G / 255; if (green > 255) green = 255; int blue = (int)a.B * (255 - b.A) / 255 + b.A * b.B / 255; if (blue > 255) blue = 255; Color c = Color.FromArgb(red, green, blue); so.SetPixel(i, j, c); } } return so; } |
|