Ejemplo n.º 1
0
        public object Post(string tags)
        {
            var flickrService = new FlickrImageService();
            var images = flickrService.GetImages(tags).Take(2).Select(i=>i.Url).ToArray();

            return new
                       {
                           @base = images.First(),
                           @block = images.Skip(1).First(),
                       };
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
        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())));
            }
        }