1.即时通信软件原理(发展)
即时通信软件实现原理_即时通讯原理-CSDN博客
笔记:
2.泛洪算法:
算法介绍 | 泛洪算法(Flood fill Algorithm)-CSDN博客
漫水填充算法实现最常见有四邻域像素填充法,八邻域像素填充法,基于扫描线的填充方法。根据代码实现方式又可以分为递归与非递归。
我以四邻域像素填充法的代码为例进行讲解:
//Recursive 4-way floodfill, crashes if recursion stack is full
public void floodFill4(int x, int y, int newColor, int oldColor)
{ if(x >= 0 && x < width && y >= 0 && y < height && getPixel(x, y) == oldColor && getPixel(x, y) != newColor) { setPixel(x, y, newColor); //set color before starting recursion floodFill4(x + 1, y, newColor, oldColor); floodFill4(x - 1, y, newColor, oldColor); floodFill4(x, y + 1, newColor, oldColor); floodFill4(x, y - 1, newColor, oldColor); }
}
这个方法是一个典型的四向递归洪水填充算法,用于在给定的二维图像(或类似网格的数据结构)中,将具有特定颜色(oldColor
)的连续区域填充为新的颜色(newColor
)。这个算法特别适用于图形编辑软件、游戏开发中的图形渲染等场景。
x
和y
:表示当前正在检查的像素的坐标。newColor
:用于填充的新颜色值。oldColor
:需要被替换的原始颜色值。
方法逻辑
-
边界检查:首先,检查坐标
(x, y)
是否在图像的有效范围内(即x
和y
是否分别小于图像的宽度和高度)。 -
颜色检查:然后,检查该坐标点的颜色是否等于
oldColor
且不等于newColor
。这是为了防止递归地填充已经被填充为新颜色的像素,以及确保只有目标颜色的像素被替换。 -
设置颜色:如果上述条件都满足,就将该像素的颜色设置为
newColor
。 -
递归填充:接下来,对当前像素的四个相邻像素(上、下、左、右)递归调用
floodFill4
方法,以继续填充与oldColor
相同颜色的相邻像素。
其他相关算法:
图像处理之漫水填充算法(flood fill algorithm)-腾讯云开发者社区-腾讯云 (tencent.com)
3.socket 通信原理:
关于socket通信原理的知识梳理我看这一篇梳理了下。
socket通讯原理及例程(一看就懂)-CSDN博客