当前位置: 首页>>代码示例>>C#>>正文


C# Box.inside方法代码示例

本文整理汇总了C#中Box.inside方法的典型用法代码示例。如果您正苦于以下问题:C# Box.inside方法的具体用法?C# Box.inside怎么用?C# Box.inside使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Box的用法示例。


在下文中一共展示了Box.inside方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: shrinkBox

        private Box shrinkBox(Box b)
        {
            byte[] min = (byte[]) b.min.Clone();
            byte[] max = (byte[]) b.max.Clone();
            bool[] def = new bool[b.max.Length];

            foreach(MultiColor c in freqTable.Keys)
                if (b.inside(c))
                {
                    for (int i = 0; i < c.data.Length; i++)
                    {
                        if(!c.transp[i])
                            if (def[i])
                            {
                                if (min[i] > c.data[i]) min[i] = c.data[i];
                                if (max[i] < c.data[i]) max[i] = c.data[i];
                            }
                            else
                            {
                                min[i] = c.data[i];
                                max[i] = c.data[i];
                                def[i] = true;
                            }
                    }
                }

            return new Box(min, max);
        }
开发者ID:elfinlazz,项目名称:NSMB-Editor,代码行数:28,代码来源:ImageIndexer.cs

示例2: split

        private void split(Box b)
        {
            byte dim = b.dominantDimensionNum(); //0, 1, 2 = r, g, b
            List<byteint> values = new List<byteint>();
            int total = 0;
            foreach (Color c in freqTable.Keys)
                if (b.inside(c))
                {
                    values.Add(new byteint(colorDim(c, dim), freqTable[c]));
                    total += freqTable[c];
                }
            values.Sort();

            if (values.Count == 0)
                Console.Out.WriteLine("iijiji");

            byte m = median(values, total);
            if (m == values[0].b)
                m++;

            //            Console.Out.Write("Split: " + b + " ");
            Box nb = new Box(b);
            nb.setDimMax(dim, (byte)(m - 1));
            b.setDimMin(dim, m);
            boxes.Add(shrinkBox(nb));
            boxes.Remove(b);
            boxes.Add(shrinkBox(b));
            //            Console.Out.WriteLine(b + " " + nb);
        }
开发者ID:elfinlazz,项目名称:NSMB-Editor,代码行数:29,代码来源:ImageIndexerFast.cs

示例3: split

        private void split(Box b)
        {
            byte dim = b.dominantDimensionNum(freqTable); //0, 1, 2 = r, g, b
            List<byteint> values = new List<byteint>();
            int total = 0;
            foreach(MultiColor c in freqTable.Keys)
                if(b.inside(c))
                {
                    if (!c.transp[dim])
                    {
                        values.Add(new byteint(c.data[dim], freqTable[c]));
                        total += freqTable[c];
                    }
                }
            values.Sort();

            if (values.Count == 0)
                throw new Exception("WTF?!");

            byte m = median(values, total);
            if (m == values[0].b)
                m++;

//            Console.Out.Write("Split: " + b + " ");
            Box nb = new Box(b);
            nb.setDimMax(dim, (byte)(m-1));
            b.setDimMin(dim, m);
            boxes.Add(shrinkBox(nb));
            boxes.Remove(b);
            boxes.Add(shrinkBox(b));
//            Console.Out.WriteLine(b + " " + nb);
        }
开发者ID:elfinlazz,项目名称:NSMB-Editor,代码行数:32,代码来源:ImageIndexer.cs

示例4: shrinkBox

        private Box shrinkBox(Box b)
        {
            Box r = null;
            foreach (Color c in freqTable.Keys)
                if (b.inside(c))
                {
                    if (r == null)
                        r = new Box(c.R, c.G, c.B, c.R, c.G, c.B);
                    else
                        r.expand(c);
                }

            if (r == null)
                return new Box(b);

            return r;
        }
开发者ID:elfinlazz,项目名称:NSMB-Editor,代码行数:17,代码来源:ImageIndexerFast.cs


注:本文中的Box.inside方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。