Ejemplo n.º 1
0
        public static void UsuńOdbiegająceWielkością <T>(this List <T> lk, float WspółczynikUsuniecia) where T : WeźKwadrat
        {
            Size Rozmiar = SortowanieWielkości <T> .ŚredniaWielkośćSrednichWartości(lk);

            int X = Rozmiar.Width, Y = Rozmiar.Height;

            for (int i = 0; i < lk.Count; i++)
            {
                Rectangle r       = lk[i].PobierzKwadrat();
                float     Różnica = Matematyka.RóżnicaWielkośći(X, r.Width) * Matematyka.RóżnicaWielkośći(Y, r.Height);
                if (Różnica < WspółczynikUsuniecia)
                {
                    lk.RemoveAt(i);
                    i--;
                }
            }
        }
Ejemplo n.º 2
0
            public static Size ŚredniaWielkośćSrednichWartości(List <T> ListaZZdjeciami)
            {
                SortowanieWielkości <T> sortowanie = new SortowanieWielkości <T>(ListaZZdjeciami);
                List <T> zd = sortowanie.Sortuj();

                int DługośćNa4 = ListaZZdjeciami.Count / 4;
                int PrzedKońcem = ListaZZdjeciami.Count - DługośćNa4;
                int Dzielnik = PrzedKońcem - DługośćNa4;
                int X = 0, Y = 0;

                for (int i = DługośćNa4; i < PrzedKońcem; i++)
                {
                    Rectangle z = zd[i].PobierzKwadrat();
                    X += z.Width;
                    Y += z.Height;
                }
                X /= Dzielnik;
                Y /= Dzielnik;
                return(new Size(X, Y));
            }