internal void AddColor(Color32 *pixel) { //如果当前处理颜色与前一个颜色相同 if (_prefixColor == pixel->ARGB) { if (_prefixNode == null) { //如果是第一次处理 _prefixColor = pixel->ARGB; _rootNode.AddColor(pixel, 0, this); return; } //如果颜色与前一个相同,且不是第一次处理,可以复制拷贝上一次的处理结果 _prefixNode.Increment(pixel); return; } //如果与上一个颜色不同,则需要添加颜色像素到八叉树 _prefixColor = pixel->ARGB; _rootNode.AddColor(pixel, 0, this); return; }