选择输出点数目满足要求的plc,通过配置专用的输入模块来增加输入点数目,使输入点数目满足控制系统的要求,这种方法增加了控制系统的成本,增加检测模块数量。
选择输出点数目满足要求的plc,但在扩展时增加部分外围电路,这部分电路主要由译码器构成,使模块增加检测模块数量。
就是获取该点颜色,然后递归搜索四周像素点的颜色,如果一样就改变它的颜色。
用扫雷游戏的扩展空白方格给你改的:
旧颜色值 : 鼠标点击位置的颜色.ToArgb() 获得的整数值
新颜色值:要更改的颜色.ToArgb() 获得的整数值
public void 扩展空方格(int X, int Y, Bitmap 位图){
object 检测点集 = new List<Point> {
{ new Point(X - 1, Y - 1) },
{ new Point(X - 1, Y) },
{ new Point(X - 1, Y + 1) },
{ new Point(X + 1, Y - 1) },
{ new Point(X + 1, Y) },
{ new Point(X + 1, Y + 1) },
{ new Point(X, Y - 1) },
{ new Point(X, Y + 1) }
}
foreach ( 检测点 in 检测点集) {
if (检测点.X > 0 & 检测点.X <= 宽) {
if (检测点.Y > 0 & 检测点.Y <= 高) {
int 颜色值 = 位图.GetPixel(检测点.X, 检测点.Y).ToArgb()
if (颜色值 == 旧颜色值) {
位图.SetPixel(检测点.X, 检测点.Y, Color.FromArgb(新颜色值))
扩展空方格(检测点.X, 检测点.Y)
}
}
}
}
}
注意,有递归深度限制,太大的区域可能会溢出。
如满意,请采纳,谢谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)