Esempio n. 1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="ExtractManager" /> class.
        /// </summary>
        public ExtractManager()
        {
            this.fileReader = new FileReader();
            this.fileWriter = new FileWriter();

            this.EmbeddedImageFile = null;
            this.messageExtracter  = null;

            this.dpiX = 0;
            this.dpiY = 0;
        }
Esempio n. 2
0
        /// <summary>
        ///     Extracts the message.
        /// </summary>
        /// @Precondition this.embeddedImageFile != null
        /// @Postcondition message is extracted from image
        public async Task ExtractMessage()
        {
            var embeddedPixels = await PixelExtracter.ExtractPixelDataFromFile(this.EmbeddedImageFile);

            var embeddedDecoder =
                await BitmapDecoder.CreateAsync(await this.EmbeddedImageFile.OpenAsync(FileAccessMode.Read));

            var fileTypeEmbedded =
                EmbeddedMessageFileTypeExtractor.DetermineFileTypeToExtract(embeddedPixels, embeddedDecoder.PixelWidth);

            if (fileTypeEmbedded == FileTypes.Text)
            {
                this.messageExtracter = new TextFileExtracter();
            }
            else
            {
                this.messageExtracter = new MonochromeImageExtracter();
            }

            await this.setExtractedImageSizeValues();

            await this.messageExtracter.ExtractMessageFromImage(embeddedPixels, embeddedDecoder.PixelWidth,
                                                                embeddedDecoder.PixelHeight);
        }