/// <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; }
/// <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); }