コード例 #1
0
        public MainWindow()
        {
            logger = LoggerFactory.Create(GetType());
            InitializeComponent();
            AddingResultTab.Visibility           = Visibility.Collapsed;
            RemovingResultTab.Visibility         = Visibility.Collapsed;
            AdvancedRemovingResultTab.Visibility = Visibility.Collapsed;

            StartLogConsole();

            originalImage            = new UpdatableImage(OriginalImageControl);
            watermarkImage           = new UpdatableImage(WatermarkImageControl);
            watermarkedImage         = new UpdatableImage(WatermarkedImageControl);
            removingOriginalImage    = new UpdatableImage(RemovingOriginalImageControl);
            advancedWatermarkedImage = new UpdatableImage(AdvancedWatermarkedImageControl);
            advancedOriginalImage    = new UpdatableImage(AdvancedOriginalImageControl);

            addingWatermarkAlgorithmControls = new AlgorithmControls(Algorithms.common.AlgorithmMode.AddWatermark, AddingParametersGrid, AddingProcess,
                                                                     OriginalImageControl, WatermarkImageControl, null, UseImageToRemoveWatermarkAsWatermarked,
                                                                     Tabs, AddingResultTab, ADDING_RESULT_TAB_INDEX, AddingResultGrid, AddingResultScrollViewer, CloseAddingResult, CancelButton);

            removingWatermarkAlgorithmControls = new AlgorithmControls(Algorithms.common.AlgorithmMode.RemoveWatermark, RemovingParametersGrid, RemovingProcess,
                                                                       RemovingOriginalImageControl, null, WatermarkedImageControl, UseImageToRemoveWatermarkAsWatermarked,
                                                                       Tabs, RemovingResultTab, REMOVING_RESULT_TAB_INDEX, RemovingResultGrid, RemovingResultScrollViewer, CloseRemovingResult, CancelButton);

            advancedRemovingWatermarkAlgorithmControls = new AlgorithmControls(Algorithms.common.AlgorithmMode.RemoveWatermark, AdvancedRemovingParametersGrid, AdvancedRemovingProcess,
                                                                               AdvancedOriginalImageControl, null, AdvancedWatermarkedImageControl, UseImageToRemoveWatermarkAsWatermarked,
                                                                               Tabs, AdvancedRemovingResultTab, ADVANCED_REMOVING_RESULT_TAB_INDEX, AdvancedRemovingResultGrid, AdvancedRemovingResultScrollViewer, AdvancedCloseRemovingResult, CancelButton);

            SetUpInputImagesViewModels();

            addingAlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(ViewModelType.Basic, AddingAlgorithmBox, addingWatermarkAlgorithmControls, this, AddingErrorMessage);
            addingAlgorithmSelectionViewModel.SetUp();

            removingAlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(ViewModelType.Basic, RemovingAlgorithmBox, removingWatermarkAlgorithmControls, this, RemovingErrorMessage);
            removingAlgorithmSelectionViewModel.SetUp();

            advancedRemovingAlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(ViewModelType.Advanced, AdvancedRemovingAlgorithmBox, advancedRemovingWatermarkAlgorithmControls, this, AdvancedRemovingErrorMessage);
            advancedRemovingAlgorithmSelectionViewModel.SetUp();

            originalGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateOriginalButton, originalImage), AddingErrorMessage);
            originalGeneratorViewModel.SetUp();

            watermarkGeneratorViewModel = new TextImageGeneratorViewModel(new GeneratorControls(GenerateWatermarkButton, watermarkImage), AddingErrorMessage);
            watermarkGeneratorViewModel.SetUp();

            watermarkedGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateWatermarkedButton, watermarkedImage), RemovingErrorMessage);
            watermarkedGeneratorViewModel.SetUp();

            removingOriginalGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateRemovingOriginalButton, removingOriginalImage), RemovingErrorMessage);
            removingOriginalGeneratorViewModel.SetUp();

            advancedWatermarkedGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(AdvancedGenerateWatermarkedButton, advancedWatermarkedImage), AdvancedRemovingErrorMessage);
            advancedWatermarkedGeneratorViewModel.SetUp();

            advancedOriginalGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateAdvancedOriginalButton, advancedOriginalImage), AdvancedRemovingErrorMessage);
            advancedOriginalGeneratorViewModel.SetUp();

            logger.LogDebug("Created MainWindow");
        }
コード例 #2
0
        public static void SetImageFromDrive(UpdatableImage imageContainer)
        {
            var path = GetFilePathFromDialog();

            if (path != null)
            {
                imageContainer.SetSource(new Uri(path, UriKind.Absolute));
            }
        }
コード例 #3
0
 public GeneratorControls(Button generateButton, UpdatableImage imageContainer)
 {
     this.GenerateButton = generateButton;
     this.ImageContainer = imageContainer;
 }