コード例 #1
0
        public string  UploadImage(IEnumerable <HttpPostedFileBase> files)
        {
            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file != null && file.ContentLength > 0)
                    {
                        var    routhPath = Server.MapPath("~/Upload");
                        string fileName  = Path.GetFileNameWithoutExtension(file.FileName);
                        fileName += "_" + Guid.NewGuid().ToString("N");
                        fileName += Path.GetExtension(file.FileName);
                        var path = Path.Combine(routhPath, fileName);
                        file.SaveAs(path);

                        Bitmap image = new Bitmap(path);

                        PictureAnalysis.GetMostDominantColor(image);

                        string colorName = GetColorName(PictureAnalysis.MostDominantColor);

                        return("/Upload/" + fileName + "æ" + colorName);
                    }
                }
            }
            return("");
        }
コード例 #2
0
        private ICollection <PictureAnalysis> fillPictureAnalysisListAndSortByStars(int i_Index)
        {
            List <PictureAnalysis> pictureAnalyses = new List <PictureAnalysis>();
            PictureAnalysis        pictureAnalysis;

            foreach (Photo item in m_PicutresManager.AlbumAt(i_Index).Photos)
            {
                pictureAnalysis = new PictureAnalysis
                {
                    PictureUrl = item.PictureNormalURL,
                    PictureID  = item.Id
                };

                pictureAnalysis.CalcStars(item.LikedBy.Count, item.Comments.Count);
                pictureAnalyses.Add(pictureAnalysis);
            }

            pictureAnalyses.Sort();
            return(pictureAnalyses);
        }
コード例 #3
0
        /// <inheritdoc/>
        public async Task <int> GetUserAccentColor(User user)
        {
            await _mutex.WaitAsync();

            try
            {
                if (string.IsNullOrEmpty(user.Avatar))
                {
                    return(ColorExtensions.GetDiscriminatorColor(user.Discriminator).ToInt());
                }

                // TODO: Handle avatar change
                if (_userColorsCache.ContainsKey(user.Id))
                {
                    return(_userColorsCache[user.Id]);
                }

                PictureAnalysis analysis = new PictureAnalysis();
                try
                {
                    analysis.Analyse(new BitmapImage(user.AvatarUri), 128, 128);
                }
                catch
                {
                }

                if (analysis.ColorList.Count > 0)
                {
                    _userColorsCache.Add(user.Id, analysis.ColorList[0].Color.ToInt());
                    return(_userColorsCache[user.Id]);
                }
                else
                {
                    return(((Color)App.Current.Resources["BlurpleColor"]).ToInt());
                }
            }
            finally
            {
                _mutex.Release();
            }
        }