本文整理汇总了C#中Surface.GetPointUnchecked方法的典型用法代码示例。如果您正苦于以下问题:C# Surface.GetPointUnchecked方法的具体用法?C# Surface.GetPointUnchecked怎么用?C# Surface.GetPointUnchecked使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Surface
的用法示例。
在下文中一共展示了Surface.GetPointUnchecked方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoLineAverage
private unsafe ColorBgra DoLineAverage(Point[] points, int x, int y, Surface dst, Surface src)
{
long bSum = 0;
long gSum = 0;
long rSum = 0;
long aSum = 0;
int cDiv = 0;
int aDiv = 0;
foreach (Point p in points)
{
Point srcPoint = new Point(x + p.X, y + p.Y);
if (src.Bounds.Contains(srcPoint))
{
ColorBgra c = src.GetPointUnchecked(srcPoint.X, srcPoint.Y);
bSum += c.B * c.A;
gSum += c.G * c.A;
rSum += c.R * c.A;
aSum += c.A;
aDiv++;
cDiv += c.A;
}
}
int b;
int g;
int r;
int a;
if (cDiv == 0)
{
b = 0;
g = 0;
r = 0;
a = 0;
}
else
{
b = (int)(bSum /= cDiv);
g = (int)(gSum /= cDiv);
r = (int)(rSum /= cDiv);
a = (int)(aSum /= aDiv);
}
return ColorBgra.FromBgra((byte)b, (byte)g, (byte)r, (byte)a);
}