public void TestProcessor() { var testImage = Image.FromFile(@"C:\dev\Code\raci\Tests\testbmp.bmp") as Bitmap; var libraryDirectory = @"C:\dev\Code\raci\Tests\LibraryImages\"; var libraryImages = Directory.GetFiles(libraryDirectory).Select(file => Image.FromFile(file) as Bitmap).ToList(); var processor = new Processor(); var output = processor.ProcessImage(testImage, libraryImages, 5, 5); output.Save(@"C:\dev\Code\raci\Tests\output.bmp", ImageFormat.Bmp); }
public ActionResult Index(string tags, string original, string block, int blockSize = 20) { var processor = new Processor(); Bitmap resultImage; if (string.IsNullOrWhiteSpace(original) || string.IsNullOrWhiteSpace(block)) { tags = tags ?? "cheese,stuff"; var flickrService = new FlickrImageService(); var images = flickrService.GetImages(tags).Take(2).ToArray(); resultImage = processor.ProcessImage( images.First().Image, images.Skip(1).Select(i => i.Image), blockSize, blockSize); HttpResponseMessage result; using (var ms = new MemoryStream()) { var bitmap = new Bitmap(resultImage); bitmap.Save(ms, ImageFormat.Jpeg); return View( new FlickModel( images.First().Encoded, images.Skip(1).First().Encoded, Convert.ToBase64String(ms.ToArray()))); } } var originalImage = this.Load(original); var blockImage = this.Load(block); resultImage = processor.ProcessImage(originalImage.Image, new[] { blockImage.Image, }, blockSize, blockSize); using (var ms = new MemoryStream()) { var bitmap = new Bitmap(resultImage); bitmap.Save(ms, ImageFormat.Jpeg); return View(new FlickModel(originalImage.Encoded, blockImage.Encoded, Convert.ToBase64String(ms.ToArray()))); } }
public HttpResponseMessage Get(string tags) { var flickrService = new FlickrImageService(); var images = flickrService.GetImages(tags).Take(2).ToArray(); var processor = new Processor(); var resultImage = processor.ProcessImage(images.First().Image, images.Skip(1).Select(i=>i.Image), 20, 20); HttpResponseMessage result; using (var ms = new MemoryStream()) { var bitmap = new Bitmap(resultImage); bitmap.Save(ms, ImageFormat.Jpeg); result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(ms.ToArray()) }; } result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); return result; }