Пример #1
0
        public MasterImageColourResponse GetMasterImageAverageColours(MasterImageColourRequest request, int height = 10, int width = 10)
        {
            var imageProcessing = new ImageProcessing(height, width);

            MosaicTileColour[,] colorMap;
            using (var source = new Bitmap(request.Master.FilePath))
            {
                colorMap = imageProcessing.CreateMap(source);
            }

            List <Color> colorList = new List <Color>();

            foreach (var c in colorMap)
            {
                colorList.Add(c.AverageWhole);
            }
            var hexColorList = colorList.Select(x => x.ToArgb());
            var response     = new MasterImageColourResponse()
            {
            };

            response.AverageTileARGB.AddRange(hexColorList);

            return(response);
        }
Пример #2
0
        public MasterImageColourResponse ReadMasterFileColours(ImageFileIndexStructure file, int height, int width)
        {
            var request = new MasterImageColourRequest()
            {
                Master = file
            };
            var response = new ImageMosaicService.ImageMosaic().GetMasterImageAverageColours(request, height, width);

            return(response);
        }
Пример #3
0
        public void GetMasterImageAverageColoursReturnsColourList()
        {
            var master = new ImageFileIndexStructure()
            {
                Id       = ObjectId.GenerateNewId().ToString(),
                FileName = Path.GetFileName(sourceFile),
                FilePath = sourceFile
            };
            var request = new MasterImageColourRequest()
            {
                Master = master
            };
            var response = new ImageMosaic().GetMasterImageAverageColours(request);

            Assert.AreNotEqual(0, response.AverageTileARGB.ToList().Count);
        }