第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

c# 如何獲取點(diǎn)陣圖顏色

c# 如何獲取點(diǎn)陣圖顏色

喵喵時(shí)光機(jī) 2018-11-21 05:02:07
不是像photoshop中的滴管那樣獲取顏色,而是批量從一組圖片里獲取各圖片的主要顏色,比如博客園的圖片,那么將獲取藍(lán)色,紅色,灰色。
查看完整描述

2 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

從位圖中將所有像素的顏色統(tǒng)計(jì)出來,然后根據(jù)各種顏色出現(xiàn)的次數(shù)做個(gè)排序。

 

        class PixelColor : IComparable<PixelColor>
        {
            private System.Drawing.Color _Color;
            private int _Count;

            public System.Drawing.Color Color
            {
                get
                {
                    return _Color;
                }

                set
                {
                    _Color = value;
                }
            }

            public int Count
            {
                get
                {
                    return _Count;
                }

                set
                {
                    _Count = value;
                }
            }

            public PixelColor(System.Drawing.Color color)
            {
                Color = color;
            }

            static public PixelColor operator ++(PixelColor pixelColor)
            {
                if (pixelColor != null)
                {
                    pixelColor.Count++;
                    return pixelColor;
                }
                else
                {
                    return null;
                }
            }

            public override string ToString()
            {
                return string.Format("Color={0} Count={1}", Color, Count);
            } 


            #region IComparable<PixelColor> Members

            public int CompareTo(PixelColor other)
            {
                return other.Count.CompareTo(this.Count);
            }

            #endregion
        }

        static private List<PixelColor> GetPixelColorFromImageFile(string fileName)
        {
            System.Drawing.Image image = System.Drawing.Image.FromFile(fileName);
            System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(image);

            Dictionary<System.Drawing.Color, PixelColor> _ColorDict = new Dictionary<System.Drawing.Color, PixelColor>();
            
            for(int x = 0; x < bitmap.Width; x++)
            {
                for(int y = 0; y < bitmap.Height; y++)
                {
                    System.Drawing.Color color = bitmap.GetPixel(x, y);

                    if (!_ColorDict.ContainsKey(color))
                    {
                        _ColorDict.Add(color, new PixelColor(color));
                    }

                    _ColorDict[color]++;
                }
            }

            List<PixelColor> pixelColorList = new List<PixelColor>(); 
            
            foreach (PixelColor pixelColor in _ColorDict.Values)
            {
                pixelColorList.Add(pixelColor);
            }

            pixelColorList.Sort();

            return pixelColorList;
        }

 

調(diào)用代碼

            List<PixelColor> pixelColorList = GetPixelColorFromImageFile(@"d:\test\logo.gif");

            
            for(int i = 0 ; i < 10; i++)
            {
                Console.WriteLine(pixelColorList[i]);
            }

 

執(zhí)行結(jié)果:

Color=Color [A=255, R=255, G=255, B=255] Count=8384
Color=Color [A=255, R=227, G=62, B=6] Count=964
Color=Color [A=255, R=234, G=110, B=68] Count=348
Color=Color [A=255, R=153, G=153, B=153] Count=283
Color=Color [A=255, R=253, G=250, B=250] Count=270
Color=Color [A=255, R=248, G=207, B=193] Count=204
Color=Color [A=255, R=241, G=158, B=130] Count=204
Color=Color [A=255, R=254, G=255, B=249] Count=180
Color=Color [A=255, R=57, G=116, B=196] Count=152
Color=Color [A=255, R=58, G=114, B=189] Count=104


查看完整回答
反對 回復(fù) 2018-11-22
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

eaglet很牛啊,不過偶還沒接觸過這些,只簡單用過discuz的顏色拾取器代碼

TimChiang不妨去試試,看是怎么實(shí)現(xiàn)的.

看源代碼控件


查看完整回答
反對 回復(fù) 2018-11-22
  • 2 回答
  • 0 關(guān)注
  • 500 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號