C# and .NET 2008-08-18 21:47:05 閱讀179 評(píng)論0 字號(hào):大中小 訂閱
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);
// 跟據(jù)你的合并要求, 計(jì)算這兩個(gè)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;
}
聯(lián)系客服