예제 #1
0
파일: core.cs 프로젝트: vatslav/watercolor
        PictureBox rightCanvas = new PictureBox(); //правый холст

        #endregion Fields

        #region Constructors

        public Core(PictureBox mainCanvas, PictureBox secondCanvas, ComboBox cb, fitredFunction resetBright)
        {
            this.leftCanvas = mainCanvas;
            this.rightCanvas = secondCanvas;
            clearCurMxs(bluerOnWaterColor);
            matrixFilters.Add("Акварелизация", new List<List<double>>{new List<double>{-0.5,-0.5,-0.5},
                                                                new List<double>{-0.5, 5, -0.5},
                                                                new List<double>{-0.5, -0.5, -0.5}});
            matrixFilters.Add("Размытие методом усреднения", new List<List<double>>());
            matrixFilters.Add("Размытие", new List<List<double>>{new List<double>{1,1,1},
                                                                new List<double>{1,8,1},
                                                                new List<double>{1,1,1}});
            matrixFilters.Add("Размытие по цвету соседей", new List<List<double>>{new List<double>{0,05, 0,05, 0,05},
                                                                new List<double>{0,05,0,06,0,05},
                                                                new List<double>{0,05,0,05,0,05}});

            matrixFilters.Add("Увелечение резкости", new List<List<double>>{new List<double>{0,-1,0},
                                                                new List<double>{-1,5,-1},
                                                                new List<double>{0,-1,0}});

            matrixFilters.Add("Увелечение резкости2", new List<List<double>>{new List<double>{-0.1,-0.1,-0.1},
                                                                new List<double>{-0.1,1.8,-0.1},
                                                                new List<double>{-0.1,-0.1,-0.1}});
            matrixFilters.Add("Сглаживание контуров", new List<List<double>>{new List<double>{0,1,0},
                                                                new List<double>{1,1,1},
                                                                new List<double>{0,1,0}});

            matrixFilters.Add("Выделение границ разноцветных областей",  new List<List<double>>{new List<double>{0,-1,0},
                                                                new List<double>{-1, 4, -1},
                                                                new List<double>{0, -1, 0}});
            matrixFilters.Add("Тиснение0", new List<List<double>>{new List<double>{-1,0,1},
                                                                new List<double>{-2,0,2},
                                                                new List<double>{-1, 0,1}});
            matrixFilters.Add("Тиснение1", new List<List<double>>{new List<double>{-1,-1,-1},
                                                                new List<double>{-1,8,-1},
                                                                new List<double>{-1, -1,-1}});
            matrixFilters.Add("Тиснение2", new List<List<double>>{new List<double>{0,-1,0},
                                                                new List<double>{-1,4,-1},
                                                                new List<double>{0, -1,0}});
            functionDB.Add("Акварелизация", aquaColor);
            functionDB.Add("Размытие методом усреднения", bluerOnAvergeMedian);
            functionDB.Add("Размытие", simpleFilter);
            functionDB.Add("Увелечение резкости", simpleFilter);
            functionDB.Add("Сглаживание контуров", simpleFilter);
            functionDB.Add("Выделение границ разноцветных областей", simpleFilter);
            functionDB.Add("Размытие по цвету соседей", simpleFilter);
            functionDB.Add("Увелечение резкости2", simpleFilter);

            functionDB.Add("Тиснение", embossed);
            foreach (var filterEntry in functionDB)
            {
                filtersListForComboBox.Add(filterEntry.Key);
            }
            cb.DataSource = filtersListForComboBox;
            functionDB.Add("resetBright", resetBright);
        }
예제 #2
0
        public Core(PictureBox mainCanvas, PictureBox secondCanvas, ComboBox cb, fitredFunction resetBright)
        {
            this.leftCanvas  = mainCanvas;
            this.rightCanvas = secondCanvas;
            clearCurMxs(bluerOnWaterColor);
            matrixFilters.Add("Акварелизация", new List <List <double> > {
                new List <double> {
                    -0.5, -0.5, -0.5
                },
                new List <double> {
                    -0.5, 5, -0.5
                },
                new List <double> {
                    -0.5, -0.5, -0.5
                }
            });
            matrixFilters.Add("Размытие методом усреднения", new List <List <double> >());
            matrixFilters.Add("Размытие", new List <List <double> > {
                new List <double> {
                    1, 1, 1
                },
                new List <double> {
                    1, 8, 1
                },
                new List <double> {
                    1, 1, 1
                }
            });
            matrixFilters.Add("Размытие по цвету соседей", new List <List <double> > {
                new List <double> {
                    0, 05, 0, 05, 0, 05
                },
                new List <double> {
                    0, 05, 0, 06, 0, 05
                },
                new List <double> {
                    0, 05, 0, 05, 0, 05
                }
            });

            matrixFilters.Add("Увелечение резкости", new List <List <double> > {
                new List <double> {
                    0, -1, 0
                },
                new List <double> {
                    -1, 5, -1
                },
                new List <double> {
                    0, -1, 0
                }
            });

            matrixFilters.Add("Увелечение резкости2", new List <List <double> > {
                new List <double> {
                    -0.1, -0.1, -0.1
                },
                new List <double> {
                    -0.1, 1.8, -0.1
                },
                new List <double> {
                    -0.1, -0.1, -0.1
                }
            });
            matrixFilters.Add("Сглаживание контуров", new List <List <double> > {
                new List <double> {
                    0, 1, 0
                },
                new List <double> {
                    1, 1, 1
                },
                new List <double> {
                    0, 1, 0
                }
            });

            matrixFilters.Add("Выделение границ разноцветных областей", new List <List <double> > {
                new List <double> {
                    0, -1, 0
                },
                new List <double> {
                    -1, 4, -1
                },
                new List <double> {
                    0, -1, 0
                }
            });
            matrixFilters.Add("Тиснение0", new List <List <double> > {
                new List <double> {
                    -1, 0, 1
                },
                new List <double> {
                    -2, 0, 2
                },
                new List <double> {
                    -1, 0, 1
                }
            });
            matrixFilters.Add("Тиснение1", new List <List <double> > {
                new List <double> {
                    -1, -1, -1
                },
                new List <double> {
                    -1, 8, -1
                },
                new List <double> {
                    -1, -1, -1
                }
            });
            matrixFilters.Add("Тиснение2", new List <List <double> > {
                new List <double> {
                    0, -1, 0
                },
                new List <double> {
                    -1, 4, -1
                },
                new List <double> {
                    0, -1, 0
                }
            });
            functionDB.Add("Акварелизация", aquaColor);
            functionDB.Add("Размытие методом усреднения", bluerOnAvergeMedian);
            functionDB.Add("Размытие", simpleFilter);
            functionDB.Add("Увелечение резкости", simpleFilter);
            functionDB.Add("Сглаживание контуров", simpleFilter);
            functionDB.Add("Выделение границ разноцветных областей", simpleFilter);
            functionDB.Add("Размытие по цвету соседей", simpleFilter);
            functionDB.Add("Увелечение резкости2", simpleFilter);

            functionDB.Add("Тиснение", embossed);
            foreach (var filterEntry in functionDB)
            {
                filtersListForComboBox.Add(filterEntry.Key);
            }
            cb.DataSource = filtersListForComboBox;
            functionDB.Add("resetBright", resetBright);
        }