Beispiel #1
0
 public void CaculateLayer()
 {
     Loom.RunAsync(() =>
     {
         //  showColor = new byte[size * size * 4];
         List <LayerData> layerList = layerMgr.GetCanSeeLayer();
         if (layerList.Count == 0)
         {
             System.Array.Copy(whiteColor, showColor, whiteColor.Length);
             //     showColor = whiteColor;
         }
         if (layerList.Count == 1)
         {
             System.Array.Copy(layerList[0].GetColorArray(), showColor, whiteColor.Length);
         }
         else
         {
             for (int i = 0; i < layerList.Count - 1; i++)
             {
                 //layerList[i]
                 if (i == 0)
                 {
                     showColor = CacluateColor(layerList[1].GetColorArray(), layerList[0].GetColorArray());
                 }
                 else
                 {
                     showColor = CacluateColor(layerList[i + 1].GetColorArray(), showColor);
                 }
             }
         }
         if (showColor == null || showColor.Length < size * size * 4)
         {
             return;
         }
     });
 }