public void Execute(IPresentation presentation, Action <IImageReader> OnReadSeccessfull) { IImageReader imageReader = Factory.CreateImageLoader(); var image = imageReader.Read(); if (image != null) { presentation.AddImage(imageReader.ImageName, image); string savePath = Path.Combine(Resource.GetImageFolderPath(), imageReader.ImageName); File.Copy(imageReader.ImagePath, savePath, true); OnReadSeccessfull(imageReader); } }
public static void InitiateConversion(string originalPath, string destinationPath, string outputFormat) { string originalTypeStr = GetExtension(originalPath); ImageType originalType; ImageType finalType; try { originalType = (ImageType)Enum.Parse(typeof(ImageType), originalTypeStr, true); finalType = (ImageType)Enum.Parse(typeof(ImageType), outputFormat, true); } catch (Exception) { throw new InvalidOperationException("Unsupported Image Type"); } IFactory <IImageReader> readerFactory = new ReaderFactory(); IFactory <IImageWriter> writerFactory = new WriterFactory(); IImageReader reader = readerFactory.Create(originalType); IImageWriter writer = writerFactory.Create(finalType); var image = reader.Read(originalPath); Converter converter = new Converter(writer); converter.Convert(image, destinationPath); Bitmap pic = new Bitmap(image.Header.Width, image.Header.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); for (int i = 0; i < image.Header.Height; i++) { for (int j = 0; j < image.Header.Width; j++) { Color c = Color.FromArgb(image.Bitmap[i, j].R, image.Bitmap[i, j].G, image.Bitmap[i, j].B); pic.SetPixel(j, i, c); } } pic.Save("testcow.bmp"); string GetExtension(string path) { return(path.Substring(path.LastIndexOf('.') + 1)); } }
public bool TryToObtainImage(out Image image) { if (!_filePathsEnumerator.MoveNext()) { var nextFilePending = false; if (_infitlyLoopOverFiles) { _filePathsEnumerator.Reset(); nextFilePending = _filePathsEnumerator.MoveNext(); } if (!nextFilePending) { image = null; return(false); } } image = _imageReader.Read(_filePathsEnumerator.Current); return(true); }
public void Convert(string source, string output) { _reader.Read(source); _writer.Write(output, _reader.Pixels, _reader.Width, _reader.Depth); }